Programmierung: Timer/Zähler-Interrupt-Besonderheiten
Teilen
Um den Interrupt für den Timer/Zähler zu verwenden, muss eine ISR (Interrupt Service Routine) geschrieben werden. Speziell bezüglich der Aktivierung des Interrupts für den Timer/Zähler muss der WGM12 (Waveform Generation Mode) im TCCR1B so eingestellt werden, dass der TCNT1 CTCs (Clears on Timer Compare) ausführt. Die Timer Mask TIMSK muss den OCIE1A (Output Compare Interrupt Enable) setzen. Dieses Bit bezieht sich auf den OCR1A. Alternativ könnten auch OCIE1B und OCR1B verwendet werden. Der OCR1A muss gleich dem Zählwert sein, der den Interrupt auslösen wird.
Die Funktion, die sich außerhalb der Hauptfunktion befindet, ist die Interrupt-Service-Routine. ISR(TIMER1_COMP_vect) { Etwas tun, wenn der Timer-Interrupt ausgelöst wird. }