打印
[应用相关]

经验贴,关于晶振问题 LDR R0, =SystemInit 或程序运行异常缓慢

[复制链接]
836|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
豌豆爹|  楼主 | 2022-4-25 15:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LDR R0, =SystemInit/或者程序运行异常缓慢
STM32调试如果卡在这一步,程序进入不了main函数,有如下排除方法:

1,程序问题:程序里面如果使用了printf函数,未勾选USE MICRO LIB,会出现此类问题
2,设置问题:Option选项卡,找到Floating Point Hardware ,默认选项为Double Precision,(我的keil里面没有这个设置)
3, 调试问题:如果设置断点太多,超过了仿真器允许的上限,也会出现此类问题,但程序可以运行,只是仿真卡住。

最后就是硬件问题,查看晶振的两个电容,是否损坏,如果电容没问题,八成是晶振的问题,用示波器查看,检测,更换即可。


如果出现了程序运行太慢的问题,例如
  • LED(ON);
  • Delay_ms(500);
  • LED(OFF);
  • Delay_ms(500);

复制代码

这种情况,灯的闪烁间隔很长,甚至达到3-4s,首先排除延时函数是不是做了删改,如果没有删改,问题就是出现在硬件上,

首先查看晶振电路中电容是否损坏,(也有同志把大容量的电容错焊上去(非22pf),也出现了这种问题),没有损坏就是晶振问题,
更换晶振即可。


别不信,俺3个小时内换了3颗晶振,才把这问题解决了,真的很幸运。

使用特权

评论回复
沙发
andygirl| | 2022-4-26 16:24 | 只看该作者
还真遇到过这个问题,
一般是匹配电容

使用特权

评论回复
板凳
littlelida| | 2022-4-29 14:35 | 只看该作者
一般程序没动的话,突然出现这个问题,那就是晶振周边了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

508

主题

1941

帖子

5

粉丝