Bin erst jetzt wieder online. Du hast einige Fehler drinnen.
1.) Das "ISR(Timer2_COMP_vect){...} kommt vor main (wie timer init)
2.) Den Timer nur einmal initialisieren
Als Beispiel:
StattCode:TIMER2_interrupt_init(void) { TCCR2 = (1<<WGM21) (0<<WGM20) (1<<CS22) (1<<CS21) (1<<CS20); TCNT2=0; OCR2=249; TIMSK = (1<<OCIE2); } ISR(TIMER2_COMP_vect) { z++; if(z==125) { sekunde++; z=0; } if(sekunde==60) { minute++; sekunde=0; } if(minute==60) { stunde++; minute = 0; } int main(void) { TIMER2_interrupt_init; if(PINA & (1<<PA7)) { sei(); } if(PINA & (1<<PA2) { cli(); } while(1); }kannst du auchCode:if(PINA & (1<<PA2) { cli(); }
schreiben.Code:if(PINA & (1<<PA2) cli();
Den Code solltest du kommentieren, damit du später auch noch weißt, warum was geschrieben wurde. (Andere finden sich im Code besser zurecht)
MfG Hannes







Zitieren

Lesezeichen