Hallo LuZ,
den Timer hast Du schon richtig programmiert, aber es gibt zwei andere Probleme mit Deinem Code:
- 1. Die Zeitvariablen müssen "volatile" sein, da Du auf sie innerhalb der ISR und aus anderen Programmteilen zugreifst.
2. Ich schlage vor, du änderst Deine Initialisierung so:
Code:OCR1A = 0x7A12; // 8MHz/256 = 31250 <= wert nach 1 Sek. TCCR1B |= (1<<CS12) | (1<<WGM12);//Prescaler = 256; CTC-Mode
(also erst OCR1A [von mir vereinfacht] setzen, dann TC1 starten: das hat aber nur beim ersten Durchlauf eine echte Relevanz).
BTW: Benutzt Du das AVRStudio? Falls ja, simulier doch einfach Deinen Code!
Gruß
Fred
Lesezeichen