Gast
#210651
Ich will eine PWM-Steuerung mit dem ATMEGA128 aufbauen. Aber das funktioniert schon im Debugger nicht. Programmieren will ich das mit WinAVR. Hier der Codeschnipsel: cli(); OCR3A = 20; OCR3B = 20; OCR3C = 20; TCNT3 = 0; TCCR3A |= 1<<COM3A1 | 1<<COM3A0 | 1<<COM3B1 | 1<<COM3B0 | 1<<COM3C1 | 1<<COM3C0 | 1<<WGM30; TCCR3B |= 1<<WGM32 | 1<<CS31; sei(); Folgende Konfiguration: Timer 3 soll mit einem Prescaler von 8 (im Debugger ist es relativ egal welche Frequenz) alle 3 PWM-Ausgänge mit FastPWM 8-Bit ansteuern. Laut Konfiguration soll der Ausgang bei "compare match" High sein und bei "TOP" auf Low sein. Der zweite Teil funktioniert nicht. Also der Ausgang wird zwar High, wenn TCNT3 20 erreicht. Aber wird nie wieder Low. Wo kann der Fehler liegen?