可能原因:
- vscode 插件 c/c++ 插件未找到定义该标识符的头文件
- stm32 hal 库中的兼容性代码使得 vscode 未找到要包含的相关头文件
解决方法:
- 在 c/c++ 插件的配置文件中添加包含路径
- 详细配置参考 vscode c/c++ 配置脚本
- 在 c/c++ 插件配置文件的 defines 中添加针对 hal 库的相关宏定义
- 例如:
在stm32f4xx.h 文件中有相关代码:
- 例如:
#if defined(STM32F405xx)
#include "stm32f405xx.h"
#elif defined(STM32F415xx)
#include "stm32f415xx.h"
...
如果没有定义 STM32F405xx 宏,那么插件是无法找到 stm32f405xx.h 的相关定义的