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

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

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

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

相关推荐
云山工作室1 天前
基于单片机的智能电表
单片机·毕业设计·毕设
不怕犯错,就怕不做1 天前
RK3562 +RK817的dts布尔属性解析(uboot基础知识)
linux·驱动开发·嵌入式硬件
逐梦之程1 天前
STM32的串口通讯--DMA接收和CPU接收不定长数据帧对比
stm32·单片机·嵌入式硬件
文弱书生6561 天前
2-electronbot主控免驱工程结构
linux·单片机·嵌入式硬件
求知喻1 天前
LCD真值表
单片机·嵌入式硬件
csg11071 天前
高效驱动,灵活控制:深度解析RZ7899大电流DC双向马达驱动芯片及其创新应用
单片机·嵌入式硬件·物联网
心疼你的一切1 天前
三菱FX5U PLC与C#通信开发指南
开发语言·单片机·c#
JSMSEMI111 天前
JSM9N20C 200V N 沟道 MOSFET
单片机·嵌入式硬件
梁下轻语的秋缘1 天前
I2S与I2C
运维·stm32·单片机·51单片机
chipsense1 天前
机器人用霍尔电流传感器,能提升操作安全性么?
单片机·嵌入式硬件·人形机器人·霍尔电流传感器