找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2260|回复: 0
收起左侧

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

[复制链接]
ID:644357 发表于 2022-4-3 23:59 | 显示全部楼层 |阅读模式
LDR R0, =SystemInit/或者程序运行异常缓慢
STM32调试如果卡在这一步,程序进入不了main函数,有如下排除方法:

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

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


如果出现了程序运行太慢的问题,例如
  1. LED(ON);
  2. Delay_ms(500);
  3. LED(OFF);
  4. Delay_ms(500);
复制代码
这种情况,灯的闪烁间隔很长,甚至达到3-4s,首先排除延时函数是不是做了删改,如果没有删改,问题就是出现在硬件上,

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


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

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表