Zitat Zitat von toeoe
Und funktionieren tuts ja auch, also die LED blinkt ja im 1 Sekundentakt
[-X Daß die LED im Sekundentakt blinkt, bedeutet nicht, daß das Programm korrekt ist! Du weisst nur, daß das Programm nicht korrekt ist, wenn die LED nicht blinkt wie sie soll...

In deinem Prog tauchen Interrupts nicht allzu oft auf. Timer0 muss überlaufen (90 Takte) und hat einen Prescaler von 1024.
Nen Timer0 IRQ gibt's also nur alle 92160 Takte. Und falls er nicht nach dem cpi ausgelöst wird, stört er auch nicht.

Das fiese an Fehlern in der Interrupt-Programmierung ist, daß diese Fehler oft nur sporadisch zuschlagen.
Es ist auch denkbar, daß die Ausführungszeit deines Hauptprogramms eine gerade Anzahl von Takten braucht und dadurch nie ein IRQ direkt nach dem cpi entsteht.
Wenn du aber irgendwo in deinem Prog eine Kleinigkeit änderst, geht es womöglich nicht mehr, weil sich dadurch die Laufzeit minimal verschiebt und dann die IRQ eben doch nach dem cpi ausgelöst wird.

Dann wirst du dir nen Wolf suchen, weil dein Programm vorher ja "korrekt" war und du denkst, der Fehler liegt an deiner kleinen Änderung.