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

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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版