Hallo,
habe mir schon fast alle Haare ausgerauft. Irgendwie will es nicht.
Bislang hatte ich den Timer1 im CTC-Modus (4) mit
Compare-Match-Interrupt. Das hat soweit ganz gut funktioniert.
Jetzt dachte ich, wäre doch schick, wenn ich den Timer auch noch als
PWM-Quelle nutzen könnte und habe deshalb auf Modus 14 umgestellt.
Laut Datenblatt (ich verwende einen mega16) kommt der Überlauf-Interrupt
bei Erreichen von Top, also ICR1.
Soweit die Theorie.
1 | ICR1 = 16000;
|
2 | TCCR1A |= 1 << WGM11;
|
3 | TCCR1B |= 1 << WGM12 | 1 << WGM13
|
4 | | 1 << CS10;
|
5 | TIMSK |= 1 << TOIE1;
|
6 | sei();
|
Den Interrupt habe ich von TIMER1_COMPA_vect auf TIMER1_OVR_vect
umbenannt.
Leider bekomme ich überhaupt keinen Interrupt.
Was habe ich übersehen?