Hallo, gerne würde ich hier auch die Fusebits für einen ATmega168, ext. Quarzoszillator 4 MHz erfahren... ...ich möchte es natürlich zukünftig auch selbst können. Muss ich jede Fuse im Datenblatt raussuchen? Wenn ich hier schaue: http://www.engbedded.com/fusecalc "ATmega168" und "ext. Clock ... 0 ms ..." Was meint da z. B. die Zeitangabe? Möchte mich nicht (schon wieder) aussperren. Ich bekomme einen uC nicht gleich um die Ecke... Mein Gedanke nach einer Tabelle für die Fusebits ist ja quatsch, da eben entsprechend viele Möglichkeiten durch die ganzen Frequenzen... Muss denn alles so kompliziert sein? Danke und Gruß Christoph
Du hättest mit angeben können mit was du programierst. Die Zeit in mS bedeutet eine Verzögerungszeit bis der Oszilator sicher schwingt. Du solltest aufpassen, externer Clock bedeutet ein separater Quarzozilator an dem einen Taktpin und keinen Quarz an beiden Anschlüssen. Es gibt drei Taktmöglichkeiten. Interner Oszilator, meist voreingestellt bei neuem Atmega oder Atiny. Quarzbetrieb mit Quarz und Kondensatoren an die Taktanschlüsse Xtal1 und Xtal2. Externer Clock, ist meist ein Quarzoszilator der einen Takt liefert und an nur einen Takteingang Xtal1 vom MC angeschlossen wird. Ein Controller lässt sich ohne Quarzoszilator nicht mehr so einfach brennen, wenn externer Clock gefuset wurde und kein externer Clock anliegt.
Ich einen externen Quarzoszillator wie im Tutorial beschrieben (an XTAL1). Ich schreibe mit Bascom. Entsprechende dem Fuse-Calculator habe ich den obersten Eintrag mit 0 ms genommen und entsprechend die Fuses gesetzt. Ich habe aber den Eindruck, dass der Takt nicht stimmt. Wie kann ich den Takt überprüfen - ich habe eine LED 2 Sek. lang blinken lassen und das waren keine 2 Sek. - ich glaube dass ich da alles richtig gemacht hatte... Zum ATmega168 - ich hatte mir mal am Anfang 3 unterschiedliche uCs gekauft. Einen 8er habe ich bereits verbaut und der andere ist ein ATtiny13...
Ch Sp schrieb: > Ich habe aber den Eindruck, dass der Takt nicht stimmt. Wie kann ich den > Takt überprüfen - ich habe eine LED 2 Sek. lang blinken lassen und das > waren keine 2 Sek. - ich glaube dass ich da alles richtig gemacht > hatte... 2 Möglichkeiten * Fehler im Programm * oder das Setzen der Fusebits hat nicht geklappt. Fuses auslesen und mit dem vergleichen was eigentlich drinn stehen sollte. Programm kontrollieren. Der Ansatz mit dem Blinken einer LED war an sich schon in Ordnung.
Karl Heinz Buchegger schrieb: > 2 Möglichkeiten > * Fehler im Programm > * oder das Setzen der Fusebits hat nicht geklappt. 3. Möglichkeit: CKDIV8 Fuse vergessen zurückzusetzen
... schrieb: > Karl Heinz Buchegger schrieb: >> 2 Möglichkeiten >> * Fehler im Programm >> * oder das Setzen der Fusebits hat nicht geklappt. > > 3. Möglichkeit: CKDIV8 Fuse vergessen zurückzusetzen Guter Einwand! (warum vergess ich immer auf die CKDIV8?)
Ch Sp schrieb: > Muss denn alles so kompliziert sein? Tja leider macht es Atmel einem da nicht ganz einfach. Statt alles mit ein paar Beispielen an zentraler Stelle zu erläutern sind die ganzen Infos quer durchs Datenblatt gestreut. Noch dazu weiß man nie genau was "unprogrammed" jetzt genau heißen soll: ich würde für erste Versuche bei 2-4 MHz und 5V beim Mega168 folgende Fuses setzen: FUSEE = 0xFF unused = 1111 unused = 1 BOOTSZ1..0 = 11 (11 = minimum boot size) BOOTRST = 1 (unprogrammed: reset is 0x0000) FUSEH = 0xDC RSTDISBL = 1 (unprogrammed: reset is reset pin) DWEN = 1 (unprogrammed: debug wire disabled) SPIEN = 0 (SPI programming enabled) WDTON = 1 (unprogrammed: WDT off) EESAVE = 1 (unprogrammed: chip erase deletes eeprom) BODLEVEL2..0 = 100 (4.1..4.5V) FUSEL = 0xF7 CKDIV8 = 1 (unprogrammed) CKOUT = 1 (unprogrammed) SUT 1..0 = 11 (slow rising power) CKSEL3..0 = 0111 (1.8/3.6 MHz full swing) bei FUSEL und Low-Power-Anwendung würde auch FUSEL = 0xFD gehen. Gruß Anja
Hallo, danke für die Antworten - ich lerne und lerne... Es war das CKDIV8-Bit. Miste! Dabei ist das CKDIV8-Bit auch gut erklärt.... Aber gut, dass ich nicht der einzige bin, der das mit den Fuses etwas unübersichtlich findet. Naja, aber dann hat das Setzen bei mir ja erst einmal geklappt! Danke! @Anja: Danke für deine Ausführungen!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.