Hallo
Die Werte sind nicht initialisiert.
Zu: OCR0A = 200-1; // to get 200 steps
Ich glaube, das -1 ist falsch. Bei 200 wird das Zählregister mit 0 beschrieben und dann der Interrupt ausgeführt. Beim Zählen der ms schreibst du ja auch bei 1000 die 0 rein und nicht schon bei 999:
Hier ist atmel scheinbar etwas ungenau, den zu folgender Beschreibung für den "Normal Mode" finde ich keine Entsprechung beim "CTC":In CTC mode the counter is cleared to zero when the counter value (TCNT0) matches the OCR0.
(In normal operation) the Timer/Counter Overflow Flag (TOV0) will be set in the same timer clock cycle as the TCNT0 becomes zero.
Was ist daran "krumm"?
32768 kHz
http://www.google.de/search?q=frequenz+uhrenquarz
Gruß
mic
Lesezeichen