按照官网文档使用Studio时,使用HSE作为系统时钟发现系统跑不起来,对于HSE的文档应该写的不是很完整,个人感觉board.h下应该也是要修改的,我按照自己的思路修改以后,在线调试能够跑起来系统,关闭调试器以后就不行,有点奇怪,希望官网文档也能完善下这块内容。谢谢啦
查看更多
检查一下 stm32f4xx_hal_conf.h 中的 HSE_VALUE 的宏定义,是否跟板载晶振频率一致
stm32f4xx_hal_conf.h
HSE_VALUE
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
已经解决了,原来是使用STM32CubeMX的时候,晶振的类型选错了,我说怎么上网一搜索好像都没有人遇到过类似的问题呢?
以下是我排查问题的过程,帮助以后遇到同样问题的小伙伴吧。
(1)一开始反复对照官网的文档,确认该改的都已经改了,例如stm32xxxx_hal_conf.h文件中的
我这里板子上是8M的,就改为8M了。
(2)然后检查时钟配置函数,这段代码是直接用STM32CUBEMX生成的,裸机上也可以跑通。
(3)当我发现RTOS没有跑起来的时候,就在线调试,发现程序是卡死在HAL_RCC_OscConfig->
也就是说HSE一直都没有就绪,一开始怀疑是嘀嗒定时器没有启动的问题,但是想想,如果HSE一直没有就绪也是有问题的。于是我就在裸机下在线调试,发现原来裸机也是超时了,后来网上一搜STM32CubeMx时钟配置,原来晶振的类型选错了。尴尬啊!!!经过纠正以后,配置如下

代码如下:
然后就顺利跑起来了。