计算PWM的频率

时间:2012-02-16 22:01:15

标签: c math embedded avr discrete-mathematics

这应该是一个简单的公式,但我无法弄明白。

我有一个16mHZ的AVR芯片。

我需要将PWM信号运行为24kHZ ..

决定什么是最好的预分频器的公式是什么。

我使用的是16位计时器。

2 个答案:

答案 0 :(得分:5)

阅读数据表(此处例如来自ATmega328P数据表,16位定时器/计数器1)以获得公式:

  

输出的PWM频率可通过以下公式计算

     

fPWM = fclk_IO / (N * (1 + TOP))

     

N变量表示预分频器分频器(1,8,64,256或1024)。

答案 1 :(得分:2)

16MHz / 24KHz给你......

(16 * 1024 * 1024)/(24 * 1024)给你......

16777216/24576给你......

682.667

因为您的预分频器只能是一个整数,并且根据您需要的精确度,您可以选择在每三个滴答中更改软件中的预分频器值。例如,前两个刻度将具有683的预分频器,每三个刻度为682。

相关问题