Hallo,

ich erlaube mir noch zwei kleine Anmerkungen zum Code:

1. Den Code der ISRs brauchst Du nicht in cli() und sei() einschließen. Die AVR-Controller
löschen beim Eintritt in eine ISR nämlich das Interrupt-Enable-Bit von selbst und setzen es am Ende wieder.

2. Delays in ISRs sollte man vermeiden. Das Laufzeitverhalten, das sich daraus ergibt, ist kaum mehr nachvollziehbar.

Grüße,

Hans