Gast
#3674916
Hallo, ich lerne gerade die Timer von einem STM32 kennen und habe diesen Beitrag (Beitrag "Re: STM32 Timer-Periode einstellen") entdeckt und die Formel getestet. Angenommen ich habe einen Takt von 8 MHz. Ich möchte den Timer bis 100 zählen lassen. Dann fängt er von vorne wieder an. Nun möchte ich mit dem Timer ein PWM-Signal mit einer Frequenz von 50Hz erzeugen. Also mit umgestellter Formel: Prescaler = Takt / (Periode * Frequenz) = 8 MHz / (100 * 50 Hz) = 1600 Zusammenfassung: Period = 100; Prescaler = 1600-1; Das ganze ergibt dann beim Messen eine Frequenz von etwa 49.4 Hz. Wähle ich nun als Periode 99, dann bekomme ich 49.9 Hz. Ich habe dies für verschiedene Frequenzen ausprobiert und jedes mal trifft es die Periode mit 99 ziemlich genau, die mit 100 liegt immer daneben. Ich habe auch diesen Rechner (http://www.libstock.com/projects/view/398/timer-calculator) ausprobiert. Dieser zieht bei der berechneten Periode immer eine eins ab. Muss ich jetzt auch eine eins subtrahieren? Aber dann würde mein Timer ja nur 99 mal inkrementiert werden, oder nicht? Viele Grüße, Sebastian