Hallo, ich möchte gerne einen ATmega1284P mit 20MHz laufen lassen. Allerdings hab ich das Gefühl mein Prozessor werkelt mit 3.68 MHz. Ein Timerinterrupt sollte alle 2.5ms auftreten, tut dies aber nur alle 13,7ms Das entspricht ca. Faktor 5.5. 20 / 5.5 = 3.68 Die Timereinstellungen sind Prescaler 8, Comparewert = 6249 (also ein Interrupt alle 2.5ms) Das ist mein erstes Indiz. Um das zu überprüfen hab ich im Datenblatt geschaut mit welchem Wert das USART Baudratenregister geladen werden muss, um bei 3.68 MHz eine Baudrate von 115.200 zu erzeugen. UBRR = 3. Diesen Wert hineingeschrieben und zyklisch ein Testzeichen ausgegeben: Siehe da, ich empfange ein Wunderschönes 'c', genau was ich wollte. Zweites Indiz dass mein uC mit 3.68MHz läuft. Mein erster Gedanke war natürlich "falsche Fuses". Aber wenn ich den internen Prescaler versehentlich aktiviert hätte dann wäre mein uC ja um den Faktor 8 langsamer anstatt 5.5 :/ Wenn ich den internen RC Oszillator benutzen würde hätte ich entweder 1 oder 8 MHz. Den Quarz hab ich heute geliefert bekommen (Pollin...). Die Bestellnummer hab ich überprüft, die ist korrekt. Der Quarz ist beschriftet mit R200YNB5u Ich hab noch einen zweiten bekommen, dieser trägt die Beschriftung R200DNB5K und zeigt das selbe Verhalten. Hatt jemand ne Idee? Wo ist mein Denkfehler? Viele Grüße, Karlo
Karlo schrieb: > Hatt jemand ne Idee? Wo ist mein Denkfehler? einfach mal die Frequenz am Quarz messen? Geht sogar mit dem Multimeter.
Das ich da nicht selber draufgekommen bin :-) Kopf -> Tisch Ja, die Messung hats bestätigt, der Quarz schwingt mit 3.68 MHz... Muss mich grad tierisch aufregen...
Nur die Beschriftung macht mich stutzig. Erinnert doch eher an 20 MHz als an 3.68. Hier nochmal meine Fuses: low high ext DF D9 FF Sollten imho passen.
Karlo schrieb: > Den Quarz hab ich heute geliefert bekommen (Pollin...). bei dem Laden immer messen, nie vertrauen!
Nachtrag: Ich hab vorher am Prozessorpin (XTAL1) gemessen, da kommen wirklich nur 3.68 MHz an. Direkt am Beinchen des Quarzes messe ich aber tatsächlich 20 MHz. Jetzt bin ich doch leicht verwirrt. Ich verwende das STK500, da sollten doch die Kapazitäten und Leitungswege richtig dimensioniert sein?!
Hi
>Ich verwende das STK500, da sollten doch die Kapazitäten und
Dann steckt der Jumper OSCSEL falsch. Deine 3,68MHz ist der interne Takt
des STK500. Kam mir gleich so bekannt vor.
MfG Spess
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.