[STM32C0] PWM输出偶尔跳动,示波器上波形会突然变宽

[复制链接]
298|10
万图 发表于 2025-10-10 07:53 | 显示全部楼层 |阅读模式
配置定时器做PWM控制LED亮度,正常时波形稳定,但偶尔会有一帧脉宽变大,看起来像寄存器被改动了。代码里没动态修改占空比,不知道是不是时钟源抖动或中断干扰造成的。
Clyde011 发表于 2025-10-10 07:57 | 显示全部楼层
用示波器触发“宽度异常”可以找出周期点。
公羊子丹 发表于 2025-10-10 07:58 | 显示全部楼层
我怀疑是写CCR时没锁定更新事件。
周半梅 发表于 2025-10-10 07:59 | 显示全部楼层
你是不是在中断里改了别的定时器?
帛灿灿 发表于 2025-10-10 08:00 | 显示全部楼层
有可能DMA半传输中断被关了。
童雨竹 发表于 2025-10-10 08:01 | 显示全部楼层
可以在更新事件前后加保护。
 楼主| 万图 发表于 2025-10-10 08:02 | 显示全部楼层
试试把ARR和CCR写入顺序调整下。
Wordsworth 发表于 2025-10-10 08:03 | 显示全部楼层
也许是DMA更新寄存器时碰巧被打断。
Bblythe 发表于 2025-10-10 08:04 | 显示全部楼层
我觉得像时钟同步没对齐造成的。
Pulitzer 发表于 2025-10-10 08:04 | 显示全部楼层
加个断点看看是不是有重载触发。
Uriah 发表于 2025-10-10 08:05 | 显示全部楼层
我之前是因为用LSE同步导致短暂跳变。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

185

主题

6337

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部