error: #20: identifier “HAL_StatusTypeDef” is undefined可以导航到,但是编译报错
Error: L6218E: Undefined symbol HAL_ADC_ConfigChannel (referred from h_adc.o).
等问题出现时,是一个原因
1. 问题原因
因为我们使用CubeMX生成工程,在生成工程时会自动配置stm32f7xx_hal_conf_template.h
,屏蔽了一些HAL库,导致一部分HAL库被宏定义屏蔽了,我们所要做的就是重新打开宏定义,换个想法CubeMX生成工程时应该有勾选项,有兴趣的可以尝试一下🐱
2.解决问题
- 在我们新添加的文件最开头,添加#include “stm32f1xx_hal.h”(STM32F7的就是stm32f7xx_hal.h),一般编译一下就成功了,若不行进行以下步骤
- 打开
CubeMxProject\Core\Inc\stm32f7xx_hal_conf_template.h
,打开我们使用到的宏定义,比如我这里使用了stm32f7xx_hal_adc.c
的功能,取消第39行的注释就可以了
- 当然工程中要有相应的文件和头文件路径,记得添加哦😄