2025-11-08 06:24:45
STM32要产生PWM波得先拿定时器当钟表使唤。先给定时器上发条设定周期时间,比如1秒。然后拿比较寄存器当标尺,标尺位置定高低电平切换点。当计数器走到标尺位置就翻脸,从高变低;走完周期再翻回来。这样反复翻转就成PWM波了,占空比就是标尺占周期的比例。
为啥得这么搞呢?因为定时器自带计数功能,配合比较寄存器能精准控制翻转时机。比如时钟72MHz时,1秒周期需要72万次计数。比较值设为36万时,占空比50%。实际开发时用公式(比较值/计数器周期)×100%算占空比。比如计数器1分之1秒(72万分之36万),占空比就是50%。若时钟不准或比较值错,波形就会乱跳。开发者得用示波器看波形,调比较值让高低电平时间符合需求。模拟后可能变成“拿定时器当钟表使唤先发条设定周期时间比如1秒然后拿比较寄存器当标尺标尺位置定切换点当计数器走到标尺位置就翻脸从高变低走完周期再翻回来这样反复翻转就成PWM波了占空比是标尺占周期的比例”。
本题链接: