vsCode开发STM32设置头文件宏定义

一、问题描述

使用 HAL 库新建 STM32 工程后,使用 vsCode 打开工程文件夹,会提示找不到头文件,以及比变量没有定义,如 uint32_t 不是一个有效类型等错误提示。如下图所示:
vsCode开发STM32设置头文件宏定义_第1张图片

二、原因分析

vsCode 中没有配置头文件路径以及没有设置 HAL 使用的相关宏定义

三、解决方法

打开 C/C++ 扩展 UI 配置界面,配置头文件路径以及宏定义
vsCode开发STM32设置头文件宏定义_第2张图片
如上图所示,在包含路径中,配置如下:

${workspaceFolder}/**
// 下述两个文件路径为 keil5 的安装路径,根据实际安装位置修改
D:\Keil_v5\ARM\ARMCC\include 
D:\Keil_v5\Packs\ARM\CMSIS\5.7.0\CMSIS\Include

在定义中,新增如下配置:

// 我使用的 keil5 和 STM32F767,所以选择如下配置
__CC_ARM
STM32F767xx
USE_HAL_DRIVER

配置完成后,vsCode 就能正确提示了
vsCode开发STM32设置头文件宏定义_第3张图片
当然也可以直接配置c_cpp_properties.json文件,

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${default}",
                "${workspaceFolder}/**",
                "D:\\Keil_v5\\ARM\\ARMCC\\include",
                "D:\\Keil_v5\\Packs\\ARM\\CMSIS\\5.7.0\\CMSIS\\Include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE",
                "__CC_ARM",
                "STM32F767xx",
                "USE_HAL_DRIVER"
            ],
            "windowsSdkVersion": "10.0.19041.0",
            "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30037/bin/Hostx64/x64/cl.exe",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "windows-msvc-x64"
        }
    ],
    "version": 4
}

你可能感兴趣的:(STM32,STM32,vscode)