嵌入式调试PWM输出时,经常遇到定时器通道模式、GPIO复用功能反复核对多遍,参数完全符合手册要求,示波器上还是抓不到任何波形。问题大多不是引脚映射错误,是几个隐性环节没处理到位。

1. 定时器主 counter 未启动
只配置了PWM通道的比较模式,忘记开启定时器核心的计数使能位。
定时器的主计数器完全不运行,通道的PWM生成逻辑没有计数基准,自然输出不了波形。
2. 预分频与周期配置溢出
定时器的预分频系数加自动重装载值,组合后超过了16位寄存器的最大计数范围。
硬件自动截断配置参数,定时器实际运行频率异常,输出波形频率超出示波器的捕获范围,看起来就像没有波形。
3. 输出极性配置反相
通道输出的极性位被误设为完全反相,默认输出电平被强制拉到常高或常低。
即使内部PWM逻辑正常运行,引脚输出的也只是恒定直流电平,没有跳变的方波波形。
4. 快速排查修复
先手动读取定时器的CNT计数寄存器,确认数值在持续递增。
核对预分频和周期参数的组合范围,把通道输出极性设为默认高电平有效,就能输出正常的PWM波形。
本文凡亿教育原创文章,转载请注明来源!

扫码关注








































