FlorianV schrieb:
> Bei Versuch1 und Versuch2 wird in der Interrupt-Routine ständig das
> Register OCR1A mit
>
1 | OCR1A += (uint16_t)T_PWM;
|
> Aufaddiert. Warum?
Das ist ein verkappter CTC Modus, der benutzt wurde, weil im letzten
Beispiel dann eben nicht mehr mit einem konstanten Increment gearbeitet
wird, sondern dieses variabel gestaltet wird.
Letzten Endes geht es darum, die ISR alle x Taktzyklen aufrufen zu
lassen, wobei x nicht von den Vorteilern des Timers bzw seiner Bitbreite
abhängen soll.
> Warum nicht einfach durchlaufen lassen? Verlängert sich dadurch nicht
> ständig die Periodendauer oder verstehe ich da was falsch?
Es geht gar nicht im die Periodendauer des Timers. Es geht darum, mit
dem Timer x Takte abzählen zu lassen und dann wieder in der ISR zu
landen.