stm32卡在SystemClock_Config();的解决方法

在基于 STM32 HAL 库开展代码编写工作时,遇到了一个令人困扰的问题:编译通过的程序下载到开发板后,始终无法正常运行。为了定位问题根源,我使用 Keil 集成开发环境中的 debug 调试功能,逐步跟踪程序执行流程,发现程序卡在了SystemClock_Config();函数处,不再向下执行。​

由于SystemClock_Config();函数主要负责系统时钟的配置,结合以往开发经验,初步判断该问题与时钟配置存在关联。于是,我打开 STM32CubeMX 软件,仔细检查项目中的时钟树设置。时钟树作为可视化配置系统时钟的重要工具,清晰展示了时钟源选择、分频系数等关键参数。​

经过一番排查,发现外部时钟的设置参数与实际开发板上的晶振规格不匹配。开发板所使用的外部晶振频率是固定的,若在 STM32CubeMX 中设置的外部时钟参数与之不符,会导致系统时钟配置错误,进而使程序无法正常运行。在将外部晶振参数修改为与开发板实际参数一致后,重新生成代码并下载到开发板,程序终于摆脱了卡顿状态,开始正常运行。

相关推荐
晶振厂家-晶发电子2 天前
晶振在5G时代的角色:高精度时钟的核心支撑
单片机·嵌入式硬件·5g·晶振·电子元器件·晶振知识
F137298015572 天前
WD5030A 芯片,12V降5V,输出电流12A,电路设计
stm32·单片机·嵌入式硬件·汽车·51单片机
小莞尔2 天前
【51单片机】【protues仿真】基于51单片机的篮球计时计分器系统
c语言·stm32·单片机·嵌入式硬件·51单片机
三佛科技-187366133972 天前
分享机械键盘MCU解决方案
单片机·嵌入式硬件·计算机外设
李永奉2 天前
51单片机-使用IIC通信协议实现EEPROM模块教程
单片机·嵌入式硬件·51单片机
工大一只猿2 天前
51单片机学习
嵌入式硬件·学习·51单片机
小莞尔2 天前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
风_峰2 天前
Ubuntu Linux SD卡分区操作
嵌入式硬件·ubuntu·fpga开发
bing_feilong2 天前
STM32精准控制水流
单片机·嵌入式硬件
Hello_Embed2 天前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件