Hallo
Dann liege ich mit meinem Beispiel ja schon ganz richtig. Bei deinem Programm steckt hier ein Fehler:
TCCR0 = (1<<CS02); // Prescaler 1024
So werden alle Bits des TCCR0-Registers geändert, bis auf CS02 werden alle, auch CS00, auf null gesetzt (=gelöscht). Um die anderen Bits nicht zu verändern muss man den alten Inhalt des TCCR0 erst auslesen und dann gezielt das gewünschte Bit setzen:
TCCR0 = TCCR0 | (1<<CS02);
oder kurz:
TCCR0 |= (1<<CS02);
Die LEDs glimmen nur, weil du led_init(); vergessen hast. Damit werden die Pins der LEDs auf Ausgang gesetzt.
Ein schlichtesDa ich noch nix habe, was auf den Interrupt hin passieren sollte,...würde schon ausreichen um zu erkennen, ob die ISR überhaupt aufgerufen wird :)Code:ISR (TIMER0_OVF_vect) { led_set(3,1); }
Gruß
mic







Zitieren
Lesezeichen