Zitat Zitat von 021aet04
"TIMSK |= (1<<OCIE1A)" => da würde ich nur = schreiben, da das Register einen beliebigen Zustand haben kann.
Nein, das TIMSK-Register wird nach einem Reset des Controllers immer mit 0x00 initialisiert, kann also keinen beliebigen Zusatnd haben. Von daher ist das mit dem |= schon ganz ok. Vor allem, wenn man die Timer-Initialisierung mal in eine eigene Funktion auslagert und noch weitere Timer-Interrupts einsetzt, kann man sich damit evtl. eine lästige Fehlersuche ersparen.

Ansonsten ist das Programm ok so. Nur der Kommentar
//Vergleichsregister aktivieren
passt nicht. Du aktivierst dort kein Register, sondern einen Interrupt.

Gruß,
askazo