你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103 MCU执行到SystemClock_Config时钟初始化卡死

[复制链接]
dashiz 提问时间:2022-2-9 17:50 / 未解决

各位,新年好。有个奇怪的问题困扰我几天了,一直调不好。我用网上的比如野火、硬石的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都试过。

收藏 评论21 发布时间:2022-2-9 17:50

举报

21个回答
dashiz 回答时间:2022-2-10 15:42:34

废鱼 发表于 2022-2-10 08:37
HAL_GetTick()看一下tick是不是正常增加。SystemClock_Config是在自己的代码中,还是system_stm32f1xx. ...

[md]SystemClock_Config是在main.c里,时钟和LED外设都是在STM32cubemx里配置好的,应该没问题。我同事也检查过我的cubemx设置和keil程序,和他电脑上一样,但就是在我电脑上编译后不行,而他的没问题。

dashiz 回答时间:2022-2-12 10:54:52

废鱼 发表于 2022-2-12 10:25
代码我这下载测试过了,是可以正常使用的。建议查看一下你外部晶振,示波器看一下晶振是否正常起振。 ...

[md]我也怀疑是硬件问题了。刚才我在家里用野火的霸道板写了LED闪烁的程序,运行正常,看起来Keil和cubemx版本没问题。周一上班我用示波器测量一下看看。

多谢鱼老弟,多谢热心解答的诸多网友,谢谢。

废鱼 回答时间:2022-2-11 08:36:37

dashiz 发表于 2022-2-10 15:42
SystemClock_Config是在main.c里,时钟和LED外设都是在STM32cubemx里配置好的,应该没问题。我同事也 ...

[md]start.s开始的时候要先运行SystemInit,这里如果时钟配置不对,后面运行会受影响。从你的描述上看,是tick不增加,tick中断不能正常工作导致的。你用的外部晶振是多大的?

废鱼 回答时间:2022-2-10 08:37:17

HAL_GetTick()看一下tick是不是正常增加。SystemClock_Config是在自己的代码中,还是system_stm32f1xx.c中的?如果是自己的代码中,可能是system_stm32f1xx.c这个里面的系统配置不对,需要修改对应的晶振配置为电路板实际的。103默认应该是25Mhz。

wenyangzeng 回答时间:2022-2-10 09:19:47

STM32F103使用CUBEMX需要对时钟树进行配置

无标题.png

xmshao 回答时间:2022-2-10 09:59:17
同學辛苦了! 會不會是你keil環境或配置有些問題呢?如果你基於HSI時鐘源來配置,如果你硬件電路及供電沒問題,并用CubeMx進行配置的話,只是點個燈怎麽都不該有問題啊。先用HSI配置試試,這樣可以先避開可能HSE電路方面的問題。不妨用示波器檢查下,你的復位脚的情況。
butterflyspring 回答时间:2022-2-10 10:13:39
可以试试官方cube库中的这个例程,这个是用8M外部晶体的,只要最后的主频不超过72M都能运行的。 这个是现成的工程,并且源码都有注释说明的。

STM32Cube_FW_F1_V1.8.0\Projects\STM3210E_EVAL\Examples\GPIO\GPIO_IOToggle\
clock config stm32f103.png
dashiz 回答时间:2022-2-10 15:43:31

wenyangzeng 发表于 2022-2-10 09:19
STM32F103使用CUBEMX需要对时钟树进行配置</p>
<p>

[md]是的,我的设置也是这样,但就是不行啊。

dashiz 回答时间:2022-2-10 15:44:32

xmshao 发表于 2022-2-10 09:59
同學辛苦了! 會不會是你keil環境或配置有些問題呢?如果你基於HSI時鐘源來配置,如果你硬件電路及供電沒問 ...

HSI试过了,也不行。应该不是电路问题,我用3.5标准库编过程,运行没问题。

dashiz 回答时间:2022-2-11 08:58:05
废鱼 发表于 2022-2-11 08:36
[md]start.s开始的时候要先运行SystemInit,这里如果时钟配置不对,后面运行会受影响。从你的描述上看, ...

8M的,
temp2.png
废鱼 回答时间:2022-2-11 09:12:31

dashiz 发表于 2022-2-11 08:58
8M的,

你看一下system_stm32f1xx.c中HSE_VALUE的值是多少?

dashiz 回答时间:2022-2-11 13:24:36
废鱼 发表于 2022-2-11 09:12
你看一下system_stm32f1xx.c中HSE_VALUE的值是多少?


是8000000。我查了一下,在system_stm32f1xx.c和stm32f1xx_hal_conf.h里都有如下定义:

#if !defined  (HSE_VALUE)
#define HSE_VALUE      8000000U
#endif /* HSE_VALUE */
废鱼 回答时间:2022-2-11 15:56:13

能不能把你测试的这个工程传输上来。我看一下。

dashiz 回答时间:2022-2-11 17:05:52

废鱼 发表于 2022-2-11 15:56
能不能把你测试的这个工程传输上来。我看一下。

[attach]485470[/attach][attach]485471[/attach] 我把所有文件都上传上来,所以文件尺寸大于9.8M了,只能分两个压缩文件。请帮忙看看,多谢。

废鱼 回答时间:2022-2-11 17:20:17

dashiz 发表于 2022-2-11 17:05
我把所有文件都上传上来,所以文件尺寸大于9.8M了,只能分两个压缩文件。请帮忙看看,多谢。
...

看不到文件啊。你可以把output或者debug的内容删除掉就小了

12下一页

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版