Als allererstes entfernst du mal sämtliche cli/sei aus den Interrupt-Funktionen, die haben darin nichts verloren (verursachen höchstens Probleme).
Dann hast du einen logischen Fehler:Das Interrupt-Flag ist aber längst gesetzt, so dass der Interrupt dann sofort nach dem Ende der Overflow-ISR kommt, und nicht erst beim nächsten Compare-Ereignis. Du musst also auch noch das Flag löschen.ist der wert dann ebi 0 angelangt, schalte ich den interrupt für das OCR register frei,







Zitieren

Lesezeichen