Probier das init mal soEs ist außerdem nicht gut einen Interrupt einzuschalten und ihn dann nicht verwenden.Code:void init(void) { TIMSK=(1<<OCIE1A); //Compare Interrupt einschalten TCCR1B=(1<<CS10); //vorteiler: 1 TCCR1B|=(1<<WGM12); //CTC-Modus TCNT1H=0; // Timer Daten Register Timer1 High auf 0 Setzen TCNT1L=0; // Timer Daten Register Timer1 Low auf 0 Setzen sei(); //Interrupts einschalten }Hier wird der Overflow Interrupt zwar ohnehin durch den Compare Interrupt gelöscht.Code:TIMSK=(1<<TOIE0); //Timer Overflow Interrupt einschalten TIMSK=(1<<OCIE1A); //Compare Interrupt einschalten
Ein Interrupt der nicht in eine Interrupt Routine führt, löst ein Reset aus.
Lesezeichen