L6218E:函数找不到实现(库文件没加进工程)
STM32 常见问题 · 排查从第 L3 层开始
日志里常见的字样
L6218EUndefined symbolundefined reference to这条报错说明什么
代码调用了某个函数,但链接时找不到它的实现。通常是库的 .c 文件没加进工程。
先做这一步
标准库:把报错函数所在的文件(如 USART_Init → stm32f10x_usart.c、ADC_Init → stm32f10x_adc.c)加入工程,并在 stm32f10x_conf.h 里包含对应头文件;HAL:在 stm32f1xx_hal_conf.h 里启用对应模块(如 HAL_UART_MODULE_ENABLED),并把 stm32f1xx_hal_uart.c 加入工程。
按顺序排查,别跳步
- 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 · 给硬件初学者的免费排错工具。内容依据公开资料整理,尚未逐条经过实物验证,请以实际测量为准。