HAL_Delay 卡住不返回
STM32 常见问题 · 排查从第 L3 层开始
日志里常见的字样
HAL_Delay 卡不返回不动HAL_GetTick 不变一直是 0SysTick 没进这条报错说明什么
HAL_Delay 依赖 SysTick 中断里调用的 HAL_IncTick;没有这个中断函数,时间永远不前进。
先做这一步
确认工程中有 SysTick_Handler 并调用 HAL_IncTick(CubeMX 生成的 stm32f1xx_it.c 里自带);同时确认先调用了 HAL_Init。
按顺序排查,别跳步
- L0供电:核对供电与指示灯
- L1连接:确认 USB、驱动与端口
- L2烧录:检查模式、工具与配置
- L3最小程序:建立独立运行基线
断开外设,运行与板型匹配的 LED 或串口最小程序。 - L4串口:确认运行日志
- L5外设:逐个验证接线和通信
STM32 Blue Pill 的注意事项
- 具体 GPIO 耐压请按数据手册核对,不能把全板当作 5V 耐受。
- PC13 LED 通常为低电平点亮。
- PA13 / PA14 是 SWD 调试接口。
- 代码模板提供标准库(Keil)、HAL 库(CubeMX / CubeIDE / Keil)和 STM32duino 三种;串口输出固定用 USART1(PA9 TX),需要 USB 转串口模块。
- 下载用 ST-Link(SWD)或 USB 转串口 + BOOT0=1;网页烧录暂不支持 STM32。
相关问题
板伴 Boardly · 给硬件初学者的免费排错工具。内容依据公开资料整理,尚未逐条经过实物验证,请以实际测量为准。