STM32单片机PWM频率设置计算方法详解

在 STM32 单片机中,pwm 的频率由以下公式决定:

pwm 频率 = PWM 时钟频率 / (预分频值 x 定时器计数值)

其中,PWM 时钟频率可以通过修改 APB 分频器系数来改变,预分频值和定时器计数值则由自己设定。

预分频值和定时器计数值的设定需要根据具体的应用和要求进行设置。一般来说,预分频值越大,定时器分辨率越低,但是可以得到更高的 pwm 频率;预分频值越小,定时器分辨率越高,但是 pwm 频率越低。同时,定时器计数值也会对 pwm 频率产生影响,一般情况下可以通过适当调整定时器计数值来调整 pwm 的占空比。

例如,如果希望得到一个 20kHz 的 pwm 频率,可以按照以下步骤进行设置:

假设系统时钟频率为 72MHz,APB1 分频系数为 4,则 PWM 时钟频率为 18MHz。为了得到 20kHz 的 pwm 频率,需要将预分频值设置为 900,即:

预分频值 = (PWM 时钟频率) / (pwm 频率 x 定时器计数值)
900 = 18000000 / (20000 x 定时器计数值)
定时器计数值 = 90

因此,在使用 TIMx 计数器作为 pwm 时,可以将预分频器分频系数设置为 899,将 ARR 寄存器设置为 89,就可以得到一个 20kHz 的 pwm 信号。当然,具体的设置方式也会因为不同的定时器类型和应用场景而有所不同。

物联沃分享整理
物联沃-IOTWORD物联网 » STM32单片机PWM频率设置计算方法详解

发表回复