[STM32G0] PWM 输出的占空比不符合预期

[复制链接]
 楼主| t60yz 发表于 2025-1-19 09:52 | 显示全部楼层 |阅读模式
占空比设置错误:如果比较寄存器的值设置不正确,PWM 输出的占空比不符合预期。

解决方案:检查 __HAL_TIM_SET_COMPARE 函数的使用,确保 CCR 设置正确,并且在期望的范围内。
c
复制
编辑
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 500);  // 设置占空比

Amazingxixixi 发表于 2025-1-21 17:03 | 显示全部楼层
改进硬件设置
gejigeji521 发表于 2025-1-21 18:02 | 显示全部楼层
你还要看时钟啊,时钟配置的正确吗
SophiaOP 发表于 2025-1-22 21:11 来自手机 | 显示全部楼层
时钟主频配置的多少啊?
公羊子丹 发表于 2025-1-23 10:24 | 显示全部楼层
我之前也遇到过这种问题,后来发现是定时器的计数周期(ARR)设置错了,你也可以检查下。
周半梅 发表于 2025-1-23 10:25 | 显示全部楼层
占空比不对,先算清楚比较值和计数周期的比例,再设置,不然肯定对不上。
帛灿灿 发表于 2025-1-23 10:27 | 显示全部楼层
如果用的是 HAL 库,别忘了检查定时器的时钟频率,有时候没配置对也会影响。
童雨竹 发表于 2025-1-23 10:29 | 显示全部楼层
__HAL_TIM_SET_COMPARE 设置完可以直接看寄存器值,有没有真正写进去,很关键。
万图 发表于 2025-1-23 10:30 | 显示全部楼层
建议用逻辑分析仪看下 PWM 波形,确认到底是占空比问题还是别的地方不对。
Wordsworth 发表于 2025-1-23 10:31 | 显示全部楼层
还有,定时器模式要注意,PWM 模式 1 和模式 2 的输出逻辑是相反的,别搞混了。
Bblythe 发表于 2025-1-23 10:33 | 显示全部楼层
之前踩过一个坑,是初始化的时候忘了打开定时器的预分频器,结果频率全乱了。
Pulitzer 发表于 2025-1-23 10:34 | 显示全部楼层
如果用的多通道 PWM,别忘了每个通道的比较值都要单独设置,不能混了。
Uriah 发表于 2025-1-23 10:35 | 显示全部楼层
先用固定值测试,比如 50% 占空比,然后再根据波形调整,调试起来会简单点。
Clyde011 发表于 2025-1-23 10:36 | 显示全部楼层
确保 __HAL_TIM_SET_COMPARE 是在定时器启动后调用的,有时候初始化顺序也会影响结果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

187

主题

1189

帖子

0

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