[开发工具] STM32CubMX

[复制链接]
32|10
louliana 发表于 2026-5-9 13:41 | 显示全部楼层 |阅读模式
问题
[backcolor=rgba(255, 255, 255, 0.9)]在CubMX配置PWM输出时单片机不能正常出PWM波。这是在我第一次驱动电机出现的情况,在使用PWM控制电机时电机不转。。。我检查了无数次接线:良好,检查了无数次程序:没毛病,该配置的东西都配置了,也找了队友Debug,也试过取消其它功能单出一个PWM波,但电机就是不转。。。然后我怀疑是硬件问题,又换了2个L298N和一个TB6612,又把F411换过F401和F103单片机,可电机就是不转。。。

[backcolor=rgba(255, 255, 255, 0.9)]找了个示波器看看PWM到底有木有出。然后示波器上诡异的波形告诉我单片机根本就没出PWM。。换了其它单片机也一样,我便开始怀疑程序最开始的地方—CubMX。
解决
[backcolor=rgba(255, 255, 255, 0.9)]找了队友说是CubMX抽风。生成文件时使用先前的版本就行了。
2791241-20220318224201008-867067441.jpg
2791241-20220318224208305-822013631.jpg
总结
[backcolor=rgba(255, 255, 255, 0.9)]CubMX会抽风!!!如果硬件、软件均无问题,那么大概率是CubMX的问题,选之前的版本,不要选最新版本!

公羊子丹 发表于 2026-5-11 08:13 | 显示全部楼层
太懂这种崩溃了!硬件换遍、程序查烂都没PWM,最后是CubeMX固件包背锅。我建议以后PWM配置优先选稳定旧版固件,别碰最新版。
周半梅 发表于 2026-5-11 08:14 | 显示全部楼层
我怀疑新版固件库在定时器通道初始化有隐藏bug,尤其是GPIO复用和PWM启动逻辑,换回老版本就正常,这坑我也踩过。
帛灿灿 发表于 2026-5-11 08:15 | 显示全部楼层
你检查过生成代码里HAL_TIM_PWM_Start有没有调用吗?有时候CubeMX抽风会漏生成启动函数,没这句肯定不出波。
童雨竹 发表于 2026-5-11 08:16 | 显示全部楼层
这问题挺常见的!除了固件版本,还要看下时钟配置,APB1/APB2分频错了也会导致PWM不输出,和固件bug很像。
万图 发表于 2026-5-11 08:17 | 显示全部楼层
我建议你下次遇到这种情况,直接对比新旧固件生成的代码,重点看TIM寄存器配置和GPIO初始化部分,差异一眼就能定位。
Wordsworth 发表于 2026-5-11 08:18 | 显示全部楼层
提醒一下,F1、F4系列对固件版本兼容性差异很大,F1尽量用1.8.0左右,别追新,稳定比版本新重要多了。
Bblythe 发表于 2026-5-11 08:19 | 显示全部楼层
我之前也碰到过,CubeMX界面配置看着全对,生成代码就少关键语句,后来固定用上一版固件,再也没莫名其妙不出PWM。
Pulitzer 发表于 2026-5-11 08:20 | 显示全部楼层
能不能试试手动开启定时器通道输出使能?有时候固件没配置CCER寄存器,软件启动PWM也没用,硬件根本没放开输出。
Uriah 发表于 2026-5-11 08:21 | 显示全部楼层
真的被CubeMX坑麻了!我现在养成习惯,配置完PWM先看一眼定时器初始化代码,确认通道、极性、重载值都对再编译。
Clyde011 发表于 2026-5-11 08:22 | 显示全部楼层
你这个排查太有参考价值了!以后大家PWM没输出,别先怀疑硬件,优先回滚固件包版本,大概率直接解决问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

78

主题

1960

帖子

1

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