基于STM32F03RCT的多路频率占空比可调PWM输出
1. 准备
1.1. 硬件
STM32RCT6核心板、STLink V2.1调试器、线材若干、Mini示波器
1.2. 软件
STM32CubeMX、STMCubeIDE
2. 基础知识
利用CubeMX配置PWM时,大多数参数保持软件给出的默认值即可。为了使PWM频率及占空比可调,我们只需要额外控制预分频器寄存器 (TIMx_PSC) 、自动装载寄存器 (TIMx_ARR) 和捕获/比较寄存器(TIMx_CCRx) 三个寄存器的值即可。HAL库对某些操作进行了封装,调用特定的函数即可对寄存器进行操作,当然也可以采用直接操作寄存器的方式。
PWM频率及占空比与上述三个寄存器内数值的关系如下:
PWM頻率:
f r e q = S y s C l o c k ( P S C + 1 ) ( A R R + 1 ) freq = \frac{
{SysClock}}{
{(PSC + 1)(ARR + 1)}} freq=(PSC+1)(ARR+1)SysClock
PWM占空比: