hallo, ich arbeite gerade mit dem µC von myAVR und versuche den 16-bit timer auf genau eine sekunde einzustellen! kann mir da jemand helfen was ich für einen vorteiler einstellen muss bzw. wie weit der counter dann noch zählen muss?! Gruß
Im Auslieferungszustand wird der ATmega8 mit dem internen 1-MHz-RC-Oszillator betrieben. Da der 16-bit-Zähler maximal bis 65535 zählen kann, brauchst du also einen Vorteiler von mehr als 1000000/65536 = 15.258. Der nächste mögliche Vorteiler wäre 64 (CS10 und CS11 in TCCR1B gesetzt). 1000000/64 ergibt 15625 Hz Taktfrequenz für den Timer. Du müsstest als Betriebsmodus den CTC-Modus (clear timer on compare match) einstellen (WGM12 in TCCR1B gesetzt) und in OCR1A den Wert 15625 laden, dann bekommst du einen compare match jede Sekunde. Dazu wirst du vermutlich den compare match 1A Interrupt einschalten wollen, damit du zum Ablauf jeder Sekunde auch irgendwas erledigen kannst. ;-) Falls du den vorhandenen Quarz per Fuse konfiguriert haben solltest, ändert sich die Rechnung natürlich. Ich habe aber keine Ahnung, welche Frequenz selbiger haben soll.
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.