Ich benutze einen Atmega32 mit 16MHz und erzeuge mit Timer1 ein 10-Bit PWM-Signal. Im Fast-mode ergibt sich dann eine PWM-Frequenz von 16MHz / 1024 = 15625Hz. Auch alle anderen Vorteiler und PWM-modes erzeugen immer nur für mich ungeeignete PWM-Frequenzen. Kann durch das Setzen bestimmter Register eine andere PWM-Frequenz erreicht werden? Wenn ja, wie? Eine Software-PWM kommt nicht in Frage, da die Rechenzeit anderweitig benötigt wird.
Wolfgang S. schrieb: > Wenn ja, wie? Indem du mit dem ICR1- oder OCR1A- Register einen anderen Topwert definierst. Beispiel: Du möchtest 1KHz: 16MHz / 1KHz -1 = 15999. Diesen Wert schreibst du im Timermode 14 ins ICR1-Register. Damit ändert sich allerdings auch deine Auflösung von 1024 auf 16000 bei Prescaler = 1.
Gast
#4476775
Dazu eignet sich der CTC Modus hervorragend.
Super, Hat auf Anhieb geklappt. Vielen Dank.