was für ein verwendeter Controller exakt? ..
Au weh, tut mir leid. Es ist ein nano328p/TQFP AU 1511 (ATmega328-P_Atmel-42735A_Datasheet_Complete-06-2016) verbaut, den originalen 16MHz-Resonator hatte ich durch einen baugleichen 20 MHz-Typ ersetzt.

.. Warum Phase Correct Mode bzw. welche TOP Wert ist konfiguriert? ..
Das ist ein selbsterstelltes Programm (Studentenübung), das mir zur Fehlersuche vorgelegt wurde. TOP ist OCRA, siehe Datenblatt, Seite 205, waveform Mode 5.

.. Meine Vermutung, er zählt mit 16Bit = 65535 und 200/65535 = 0.3% ..
Es ist Timer2, bei den megas immer? 8bittig; der 16bittige Timer ist immer? Timer1.

.. wait wait wait .... warum schaltest du den interrupt ein? Hast du denn auch eine Interrupt Routine? Sonst schmiert er dabei immer ab!
Das wait soll die isochrone Phase der PWM dimensionieren - ohne zweiten Timer. Wie erwähnt, ein Anfängerversuch.

Zitat Zitat von Ceos Beitrag anzeigen
.. Hast du denn auch eine Interrupt Routine? Sonst schmiert er dabei immer ab!
Nein, der Interrupt wurde im vorgelegten Programm nicht mal in der Timerinitialisierung erlaubt/freigegeben. Ich bin selbst überrascht, dass weder die Interruptlibrary #include <avr/interrupt.h> benutzt werden muss, noch muss der Interrupt global freigegeben werden, nur lokal in der Timerinitialisierung. Bei global freigegebenem Interrupt muss notwendigerweise zusätzlich noch die ISR ISR (TIMER2_COMPA_vect) erstellt sein, wenn auch nur als leere Funktion. (Ja ja, das klingt auch bei mir nach experimentellem Software-Engineering, aber mein C ist ja noch sehr rudimentär).