hallo, ich komme mit dem datenblatt vom 644 nicht klar. ich möchte den atmega644 auf internen takt stellen von 8mhz. wer weiss wie das geht? mfg
>hallo, ich komme mit dem datenblatt vom 644 nicht klar. Was soll das heißen? Kannst Du es nicht lesen, oder was? >ich möchte den atmega644 auf internen takt stellen von 8mhz. Auf Seite 28 im DB ist unter "clock sources" eindeutig beschrieben, welche Fuses wie gesetzt werden müssen. Und nochwas, nicht m(milli)Hertz sondern M(Mega)Hertz.
Datenblatt 02/07: Seite 29: 7.2.1 Seite 285: table 25-5 Wenn der 644 im Auslieferungszustand ist, muss CKDIV8 im low fuse byte umgeschaltet werden.
@jack bleib mal locker! Habe heute meinen netten Tag ;) Seite 28: Default Clock Source: The device is shipped with internal RC oscillator at 8.0MHz and with the fuse CKDIV8 programmed, resulting in 1.0MHz system clock In Deutschisch: Der Controller wird mit einem internen 8 MHz RC-Oszillator ausgeliefert, welcher durch die gesetzte CKDIV8-Fuse bei effektiv 1 MHz läuft. Eine Suche nach "CKDIV8" im Dokument liefert Seite 33: "Calibrated Internal RC Oscillator" mit weiteren Informationen zum internen Oszillator. CKSEL3..0 muss z.B. auf 0010 gesetzt werden (was es wahrscheinlich ab Werk schon ist) Hier findet sich auch folgende Info: "If 8 MHz frequency exceeds the specification of the device (depends on VCC), the CKDIV8 Fuse can be programmed in order to divide the internal frequency by 8." In Deutschisch: Falls die 8 MHz zu schnell für den Controller sein sollte (z.B. bei zu niedriger Versorgungsspannung), kann das CKDIV8-Fuse gesetzt (programmed) werden um die Rate auf 1 MHz zu reduzieren. Ich interpretiere das so, dass einfach nur die CKDIV8 Fuse (unprogrammed = 1) werden muss, und schon hast du die Werkskalibrierten 8 MHz (bei Vcc = 5V). Ich kenne den 644 nicht - kann sein, dass ich mich irre... aber auch dann steht's im Datenblatt.
...Wenn der 644 im Auslieferungszustand ist, muss CKDIV8 im low fuse byte umgeschaltet werden..... wie muss denn nun CKSEL3..0 gesetzt werden, damit die 8mhz intern eingestellt sind? danke. mfg
Du must einfach den Haken bei ClockDiv rausnehmen.
ich sehe bei mir im fenster nur die binärzahl stehen. mfg
Seite 34: 7.6, table 7-8: CKSEL3..0: 0010 Dies ist der Auslieferungszustand, d.h. 8 MHz. Allerdings wird dieser Takt noch durch 8 geteilt, was Sie durch umschalten von CKDIV8 ändern.
Tja, was soll man da machen. Das ist nunmal bei jedem Programmer ein wenig anders, leider hast du ja noch immer nicht verraten welchen du hast. In der Tabelle im Datenblatt steht ja was man eintragen muss drin und Kai hat oben auch geschrieben wie CSEL3..0 sein müssen. CKDIV8 ist aber nicht in den CSEL3...0 drin, sondern ein extra bit. Fuse Low Byte Bit No Description Default Value CKDIV8(4) 7 Divide clock by 8 0 (programmed) CKOUT(3) 6 Clock output 1 (unprogrammed) SUT1 5 Select start-up time 1 (unprogrammed) SUT0 4 Select start-up time 0 (programmed) CKSEL3 3 Select Clock source 0 (programmed) CKSEL2 2 Select Clock source 0 (programmed) CKSEL1 1 Select Clock source 1 (unprogrammed) CKSEL0 0 Select Clock source 0 (programmed) so nun ließt du die Fuse bits ein: da sollte 62 stehen: also 0110010 nun CKDIV8 rausnehmen: 11100010 = E2 Kannst du aber auch gern selber nachrechnen oder im AVR Studio anschauen, geht auch ohne Programmer. oder hier http://palmavr.sourceforge.net/cgi-bin/fc.cgi allerdings sind da die Fusebits nicht so wie im Datenblatt, die muss man erst selber einstellen.
Man muß aber nicht die Fuses umprogrammieren. Man kann auch ganz profan das CLKPR-Register in Software setzen. Peter
jup danke ,hat funktioniert mit eurer beschreibung. mfg
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.