Forum: Mikrocontroller und Digitale Elektronik Timer0


von Jörn (Gast)


Lesenswert?

Hallo, ich habe Probleme mit dem Timer0.

HW:STK500 AtMega128L

Ich schalte über den Timer0, der jede Sekunde eine ISR anspringt, einen 
Pin. Das geht auch.

Nun nehme ich mir das TCNT0 Register und änderer den Wert.
Von 0x00 auf zum Beispiel 0x55. Auf meinem Oszi ändert sich die 
Pulslänge aber nicht.

Mein Vertändnis:
Der Prescaler teilt meine Frequenz (32,768Khz) durch den eingestellten 
Wert im TCCR0 = 0x05; Register. Dann kommt der Counter (TCNT0) und zählt 
die Ticks aus dem Prescaler.

(Oszillator)->32,768Khz->(Prescaler1/128)->1000ms->(Counter 0)->1000ms

Das heißt wenn ich TCNT0=0x00; auf TCNT0=0x88; einstelle, müßste sich 
die Signallänge am Pin ändern? Machst sie aber nicht. Geht das 
vielleicht gar nicht ? Darf ich nur mit Oszillatorfrequenz und Prescaler 
arbeiten ?

Jörn

von Peter D. (peda)


Lesenswert?

Machst Du es auch wirklich nach jedem Überlauf in der ISR ?

Peter

von Jörn (Gast)


Lesenswert?

NEin ich probiere mal aus.

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
Noch kein Account? Hier anmelden.