Gast
#93886
Der PWM Ausgang soll mit fester Periodendauer arbeiten (Konstanter Wert im TACCR0, Timer im Up Modus). Als PWM Ausgang dient der Block 1 des Timer A mit dem Vergleichswert in TACCR1 im Reset-Set Modus. Über die Variation des Wertes im TACCR1 soll jetzt die Pulsbreite vom 0 bis 100% gesteuert werden. Die Aktualisierung der Pulsbreite erfolgt dabei über einen Interrupt der ebenfalls vom Timer A über Block 2 aushgelöst wird. Über TACCR2 kann eingestellt werden, bei welchem Zählerstand der Vergleichswert TACCR1 aktualisiert wird. Ziel ist, für den nächsten Lauf des PWM die Pulsbreite vorzugeben. Das Problem dabei ist: immer wenn die Pulsbreite auf 0 gestellt wird (TACCR1=0), geht der Ausgang einen Bruchteil einer Sekunde auf High und dann erst auf Lo. Es macht dabei scheinbar keinen Unterschied, wann in TACCR1 die 0 geschrieben wird. der Effekt ist reproduzierbar. Wie kann dieses Verhalten unterdrückt werden?