vscode开发stm32未定义标识符但能跳转

可能原因:

  1. vscode 插件 c/c++ 插件未找到定义该标识符的头文件
  2. stm32 hal 库中的兼容性代码使得 vscode 未找到要包含的相关头文件

解决方法:

  1. 在 c/c++ 插件的配置文件中添加包含路径
    1. 详细配置参考 vscode c/c++ 配置脚本
  2. 在 c/c++ 插件配置文件的 defines 中添加针对 hal 库的相关宏定义
    1. 例如:
      在stm32f4xx.h 文件中有相关代码:
#if defined(STM32F405xx)
  #include "stm32f405xx.h"
#elif defined(STM32F415xx)
  #include "stm32f415xx.h"
 ...

如果没有定义 STM32F405xx 宏,那么插件是无法找到 stm32f405xx.h 的相关定义的

你可能感兴趣的:(教程,学习记录,vscode,stm32)