[STM32F1] STM32F103 MCU执行到SystemClock_Config时钟初始化死锁

[复制链接]
 楼主| jstiger 发表于 2022-2-9 17:48 | 显示全部楼层 |阅读模式
各位,新年好。有个奇怪的问题困扰我几天了,一直调不好。我用网上的比如野火、硬石的HAL程序,在Keill里就是不能运行下去,我查了一下,是卡在SystemClock_Config()这一段里出不来,具体就是卡在if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE)这一句上。已经排除硬件原因,我用3.5标准库文件编程,时钟程序是可以运行,但用HAL,就是不行。我自己用stm32cubeMX编了一个简单的LED点亮程序,也是不行。不知问题出在哪里了,折腾了我一个春节。

今天同事电脑上试过,他编译后可以运行。我把同样的程序弄到我电脑上,用keil打开编译,也不行了。郁闷啦。
不知有没有同学碰到过类似情况,请教。

STM32cubemx版本是V6.4.0, Keil用V5.25和V5.35都试过。
香水城 发表于 2022-2-10 10:03 | 显示全部楼层
你用CubeMx配置时先选用内部HSI,这样避免HSE电路方面的问题。

你确定同事电脑上可以 而你电脑可以? 另外,可以找个F1官方最简单的历程测试验证下。

看起来 硬件、供电方面的原因的可能性偏大。
 楼主| jstiger 发表于 2022-2-10 15:50 | 显示全部楼层
香水城 发表于 2022-2-10 10:03
你用CubeMx配置时先选用内部HSI,这样避免HSE电路方面的问题。

你确定同事电脑上可以 而你电脑可以? 另 ...

都试过了,同事电脑上试过,HSI也试过了。就是不行,哎。

评论

呵呵!再查查!换个板、换个PC端口。。。。 直接跑跑ST提供的最简单例程验证下,逐步缩小范围。 这种看似离奇的事 谁不会碰到几次,说不定是哪个地方一个小疏忽。  发表于 2022-2-11 11:52
diweo 发表于 2022-2-10 16:06 | 显示全部楼层
HSE_TIMEOUT_VALUE值是多少?用一个较小的值,比如1000试一下。
还有看一下项目优化等级,你电脑上和同事电脑上是否一样?

评论

@jstiger :100应该是正常的值。看样子问题原因不在这里。  发表于 2022-2-11 09:22
HSE_STARTUP_TIMEOUT系统定义为100U,还能再小吗?  发表于 2022-2-10 16:53
diweo 发表于 2022-2-11 09:22 | 显示全部楼层
diweo 发表于 2022-2-10 16:06
HSE_TIMEOUT_VALUE值是多少?用一个较小的值,比如1000试一下。
还有看一下项目优化等级,你电脑上和同事电 ...

100应该是正常的值。看样子问题原因不在这里。
 楼主| jstiger 发表于 2022-2-12 10:56 | 显示全部楼层
diweo 发表于 2022-2-11 09:22
100应该是正常的值。看样子问题原因不在这里。

估计是硬件问题了,我下周一用示波器测量看看,多谢楼上诸多网友热心解答。
tpgf 发表于 2022-3-8 10:13 | 显示全部楼层
可以看一下晶振是否起振
nawu 发表于 2022-3-8 10:34 | 显示全部楼层
卡死在循环里边了是吗
wiba 发表于 2022-3-8 10:45 | 显示全部楼层
可以更换时钟源试试看
kxsi 发表于 2022-3-8 10:53 | 显示全部楼层
那是不是其他初始化也无法进行啊
zljiu 发表于 2022-3-8 11:01 | 显示全部楼层
会不会是芯片本身的问题呢
aoyi 发表于 2022-3-8 11:10 | 显示全部楼层
感觉应该不是cube版本的问题
kiwis66 发表于 2022-3-8 11:25 | 显示全部楼层
有一次时钟配错了,程序跑不起来,再下载程序也下不进去了
然后用串口随便烧写个正常的程序,就恢复了。

但看来,可能和楼主的状态不一样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

152

帖子

2

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