Hallo Alfred,
Zitat Zitat von U001 Beitrag anzeigen
Das Programm funktioniert insoweit, als am Pin 1 und 2 des PortB die richtigen Signale ankommen.
Am Pin4 des PortB entsteht jedoch ein PWM-Signal mit 500ms High und 500ms Low. D.h. die ISR wird nicht beim Compare-Match aufgerufen, sondern beim Rücksetzen des Timers beim Erreichen des ICR1-Registerwertes.

Hat jemand eine Erklärung für dieses Verhalten?
Ja, du machst einen Denkfehler.
Die ISR wird aufgerufen und toggelt dann Pin 12. Also beim ersten Aufrufen geht der Pin von 0 auf 1.
500ms später ist dann der nächste ISR Aufruf und Pin 12 geht von 1 auf 0.

Pin 1 und 2 werden beim Compare-Match verändert UND wenn der Timer zurückgesetzt wird.

MfG Peter(TOO)