参考b站up:皖江工与STM32
一、一些简单的概念
1、PWM:脉冲宽度调制
保证周期不变的情况下,改变高电平和低电平的占比称为占空比
2、PWM输出工作原理
3、PWM实际计算
![](https://img-blog.csdnimg.cn/direct/3d11aaba577e4329ac54ca21336cdfc9.png)
4、多通道输出
一定要注意,周期一定要相同!!!!!
5、一些函数
二、实战
1、配置
案例1:产生周期为20ms,占空比为50%的PWM信号来控制开发板上的用户指示灯LED1
分析:
PWM周期为20ms,可以假设PSC为839,根据公式可以计算出ARR的值(Counter Priod)为1999;占空比为50%,则CCR(Pulse)为1000.
可以通过改变分频系数来调整精度。
案例2:呼吸灯,利用P以M信号控制开发板上的指示灯LED3。设置PWM周期为20ms,占空比从0%开始,步进为10%。递增到100%后,又从0%开始,并重复整个过程。占空比修改的时间间隔为100ms。
分析:占空比从0%开始,因此写入捕获/比较寄存器CCR的初值为0,然后在while循环中调用宏函数_HAL TIM SET COMPARE修改CCR的内容,从O开始逐渐增加到2000,步进值为200。并重复该过程。
代码: