关于STM32重新上电后,程序不能正常运行

作者在项目中遇到问题,单片机上电后虽能正常通信但电机不动作。经排查发现是由于初始化顺序导致的,将定时器初始化提前到最前面解决了问题,关键在于时钟树未开启影响了先前设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

情景描述:

最近做一个项目,我是通过串口下发数据控制电机转动的角度,在刚下载程序以后,单片机可以正常运行,通过串口下发数据电机也可以正常运转,但是在重新上电以后,串口可以正常发送和接收数据,但是电机就是不能运行,debug调试也是可以,这个时候我就纳闷了,调试可以,数据也正常,为什么重新上电以后就是不能跑能呢?

原因描述:

后面想了一下,既然串口可以跑,系统灯也在闪,说明程序并不存在卡死现象,后面经过思索,把定时器初始化放在最前面就完美解决了,主要还是初始化顺序问题,可能是时钟树没开,导致前面初始化没起作用。

最开始初始化顺序:

调整后移到最前面:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值