Atmega32 counter interrupt alle 1ms

OP #2135802
Lesenswert?

Hallo!

Ich will mit dem Timer2 des Atmega 32 die Zeit die er eingeschaltet ist 
in ms mitzählen.
Dazu habe ich mir gedacht ich lade den timer so vor das er jede ms ein 
overflow interrupt aufruft.
Den Timer will ich über den Eingang TOSC2 mit einem externen Quarz mit 
32768Hz Takten.
So das heißt ich habe 32,768Takte pro ms.
Wenn ich jetzt den Timer mit (256-32,768) = 223 Takten vorlade dann wird 
das ja ungenau.

Was kann ich da machen damit ich die ms genau bekomme?
Oder funktioniert das nicht bei so einer geringen Taktrate?

godi
OP #2135823
Lesenswert?

Vielen Dank für die Antworten.

Den externen Quarz habe ich nur weil es eine Übung ist.
Über prescaler habe ich nachgedacht nur komme ich da nicht auf einen 
guten Wert.

Mir ist jetzt noch was anderes eingefallen.
Ich werde einfach die Interrupts mitzählen und dann eine Funktion 
schreiben die mir als rückgabewert
(TCNT2+countOverflow*256)/32.768
zurückgibt.

Dann sollte das schon reichen. :)

Aber echt ein super Forum hier. Da bekommt man flink gute Antworten! :)

godi

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