1111:1111 iss richtig, das iss external crystal
Martin
Hallo zusammen,
eigentlich wollte ich meinen atmega16 nur auf ein externes quarz mit 16 mhz umstellen aber in Bascom finde ich unter den fusebits A987 nur:
0000 external clock
0001internal rc os. 1mhz
0010 internal rc os. 2mhz
0011 internal rc os. 4mhz
0100 internal rc os. 8mhz
und dann nur noch nummer
0101:0101
bis
1111:1111
was muss ich da nehmen um mein 16mhz externes quarz zu aktivieren?
1111:1111 denke ich mir bin da aber net sicher.
wenn jemand kurz antworten könnte bevor ich den atmega in nirvana schick....
1000 dank
1111:1111 iss richtig, das iss external crystal
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Hallöle,
hab ein anderes Problemchen:
Ich kann über Bascom nur Programme erstellen und kompillieren. Beim Versuch zu brennnen kann er die Fusebits nicht auslesen und ich diese somit auch nicht setzen. Deshalb brenn ich mit PonyProg, wo ich die Bits einzeln setzten muss.
Versuchsaufbau: Ich lass die zwei LED's abwechselnd mit 500ms Wartezeit blinken. Bei interner Taktung passt die Zeit auch in etwa. Zur externen Taktung muss ich ja CKOPT und CKSEL3-1 schalten. Aber welche bei 8MHz ??? Aus dem Datenblatt vom Mega16 werd ich auch nicht schlau.
Setzte ich mal alle, dann wird die Wartezeit etwa viermal so lange (ca. 2sec.) und das bei ansich 8facher Geschwindigkeit ?!?
Was mache ich falsch ???
PS.: Ich hab das Evaluation-Board von Pollin zum experimentieren.
Gruß, Berni.
www.befi-tec.de
Erkennt deine Bacom Entwicklungsumgebung deinen Prozessor? Oder kommt bei "Run Programmer" eine Fehlermeldung "Could not identify chip with ID:FFFFFF"?
Dann ist entweder dein Board nicht richtig angeschlossen oder hat keinen Strom bzw. ist nicht eingeschaltet, oder du hast in den Einstellungen für den Programmer nicht den richtigen eingestellt.
Wenn Bacom deinen Controller erkennt, dann kann er auch die Fusebits auslesen...
Unwissenheit ist ein Segen
Mit dem Board von Pollin kann der AVR auch programmiert werden. Da dies über den RS232 geschieht und nicht über den LPT wird die Auswahl von Bascom (Demoversion) relativ klein. Dort habe ich alle ausprobiert und die Fuses können von keinem gelesen werden. Das mit dem Erkennen muss ich erst noch ausprobieren.
Strom ist an allen Punkten ausreichend vorhanden (Hab die 5,25" Blende eines Desktop-PCs mit Buchsen versehen, die direkt mit dem Netzteil verbunden sind).
Und wie gesagt, das schreiben mit PonyProg funzt ja, ich weiß nur nicht, wie die Fusebits zu setzten sind ?!?
Mit 1111:1111 kann ich leider nix anfangen, da ich erst ganz am Anfang der Mikroprozessor-Programmierung stehe. Wenn du mir das aufschlüsseln könntest, welcher 1er für was steht, käme ich auch schon ein Stück weiter.
Gruß, Berni.
www.befi-tec.de
Wenn ich nach dem Kompillieren in den Programmiermodus wechsle kommt eine Fehlermeldung, dass der angebene AVR mit dem eingestellten nicht übereinstimmt ( Mega16<>Mega64 ). Klicke ich auf den Chip Identify - Icon passiert gar nix. Ich wähle den Mega16. Wenn ich nun auf das Blatt Fuse/Lock-Bits wechsle, kommt eine Fehlermeldung wie : Kann Mega16 nicht lesen... (den genauen Wortlaut weiß ich jetzt nicht mehr ) und das Blatt bleibt leer. Nachdem ich Bascom auf zwei verschiedenen Rechnern installiert habe und beide den gleichen Fehler bringen gehe ich mal davon aus, daß Bascom nicht mit diesem Evaluation Board umgehen kann.Erkennt deine Bacom Entwicklungsumgebung deinen Prozessor? Oder kommt bei "Run Programmer" eine Fehlermeldung "Could not identify chip with ID:FFFFFF"?
Was auch festzustellen ist: ich übertrage bei jedem LED-Wechsel eine Nachricht (LED 1 ein - LED 2 aus und umgekehrt) per print. In einem Terminal sind aber nur die Ziffern sichtbar. Die Buchstaben werden zu Kauderwelsch.
Gruß, Berni.
www.befi-tec.de
alos das mit dem terminal kann ganz einfach daran liegen, dass du die falsche baudrate eingestellt hast, womit sendest du denn? mit wieviel baud, und den anderen einstellungen?
kannst du denn per Bascom das teil programmieren, oder geht beides nicht, proggen und fuses?
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
...nein, denn wenn er die Fuses nich lesen kann, läßt er auch das Proggen nicht zukannst du denn per Bascom das teil programmieren, oder geht beides nicht, proggen und fuses?
...na so ungeschickt bin ich dann nun auch wieder nicht: programmiert sind 9600 und empfangen im Terminal tu ich auch 9600. Außerdem: wenn ich eine falsche Baudrate einstelle, bekomme ich irgendeinen String der viel länger ist. Ich kann ja zumindest die Zahlen erkennen und die richtige Anzahl an Zeichen überträgt er ja auch. Nur die Zeichen selbst sind Sonderzeichen. Was ich jetzt allerdings in einem anderen Forum gelesen habe kann das auch mit der internen Taktung zusammenhängen, die nicht immer korrekt ist und dadurch Fehler verursacht. Die 100n Abblocker sind jedenfalls anwesend. An denen kanns nicht liegen.falsche baudrate eingestellt hast, womit sendest du denn? mit wieviel baud, und den anderen einstellungen?
Gruß, Berni.
www.befi-tec.de
aaalso, in ponyprog musste CKSEL alle auf ohne häkchen, und SUT0-1 auch aus, also ohne häkchen, dann sollte es gehen ^^
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
... die waren schon beim ersten Programmieren alle aus.aaalso, in ponyprog musste CKSEL alle auf ohne häkchen, und SUT0-1 auch aus, also ohne häkchen, dann sollte es gehen
Dann müsste aber die Anweisung $crystal keine Auswirkung haben, denn die steht auf 1MHz und es ist ein 8MHz Quarz eingebaut, sprich er müsste dann mit der 8-fachen Geschwindigkeit rechnen. Oder nicht ???
Gruß, Berni.
www.befi-tec.de
Lesezeichen