Atmega8 falscher takt

Gast #688228
Lesenswert?

Hallo,
ich hab ein Atmega8 und hab einen internen Takt von 1MHz eingestellt. 
Dann hab ich die Pins einfach ein und ausgeschaltet und mess nur einen 
Takt von 3kHz. Das gleiche hab ich auch, wenn ich einen externen Quartz 
mit 3MHz benutze, dort mess ich nur ca. 7kHz. Woran kann das liegen?
Gast #688259
Lesenswert?

Eine Schleife braucht erheblich länger als Du denkst. Schau mal ins 
Datenblatt, wie lange so ein einzelner Befehl braucht.

Und dann schaust Du ins LST-File, wie viele Assembler-Befehle in Deiner 
Schleife abgearbeitet werden, ich denke, dann wirst Du sehen, warum Du 
nicht auf Deine 1MHz kommen kannst.

Du siehst einen Ausgabetakt von wenigen kHz, das ist dann natürlich 
immer noch zu wenig. Schau Dir mal die Fuses an, ob Du den externen Takt 
nochmals runtertaktest (ClockSelect wäre das Stichwort). Ich weiß jetzt 
nicht auswendig, was der mega8 defaultmäßig eingestellt hat.
#688532
Lesenswert?

Bei einem internen Takt von 1 MHz und gemessenen 7 kHz braucht die 
Schleife anscheinend 143 Taktzyklen... so doof kann sich ein compiler 
eigentlich nicht anstellen ;)

Womit misst du eigentlich den Takt? Nicht jedes Gerät arbeitet in dieser 
Größenordnung zuverlässig. Im Zweifel mal das Oszilloskop befragen.

Vielleicht hilft dir der Beitrag hier weiter:
Beitrag "Re: Mega16, Fusebits und Quarz Probleme."

Gruß

Kai
Gast #689113
Lesenswert?

Kann das sein das der Takt durch den Inhalt im Oscillator Calibration 
Register geteilt wird, auch wenn der externe Quartz angeschlossen ist?
Wenn ja, wie kann ich den Inhalt in dem Register ändern?
Persönliche Seite #689119
Lesenswert?

Leute das kann nich sein da muesste nen viel hoeherer Takt rauskommen so 
oder so. Ich meine mich zu erinnern einige MHz auf die Art gemessen zu 
haben, aber sicherlich mehr als nur ein paar KHz selbst wenn das Ding 
nur mit einem MHz internem Takt laeuft! Muss also am Messgeraet oder an 
falschen Fuses liegen, z.B. ma auf externen Takt gestellt aber keinen 
Oszillator dran? Ist dieser Takt denn stabil? Mit was hast Du denn 
gemessen? Oszi?

Michael
#689158
Lesenswert?

Bitte mal die Fuses schicken oder einen fabrikneuen Mega8 einsetzen, an 
dem noch nichts umgestellt wurde. Wenn der tut ist der andere 
wahrscheinlich falsch konfiguriert... dann musst du eigentlich nur noch 
den Unterschied suchen.
Wenn der fabrikneue auch nicht tut, dann würde ich noch das Eval-Board 
testen und ganz wichtig:
Wie und womit misst du die Frequenz??

Um die Fuses auszulesen kannst du Ponyprog verwenden - tut bei uns 
wunderbar.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren