VScode开发STM32

使用VScode开发STM32,主要需解决包含头文件路径的问题。

当我们使用VScode打开一个STM32的工程后,编译器会在包含文件出提示很多错误,显示无法找到文件。

这时我们需要随便找到一处红色波浪线,点击并把光标移到那一行,左上角会出现一个黄色小灯泡。点击黄色小灯泡并选择“编辑‘includePath设置’”。

直接用c_cpp_properties.json来配置:

VS Code自动在当前目录下的.vscode文件夹下生成一个c_cpp_properties.json文件,我的配置给出如下:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "C:/Program Files (x86)/GNU Arm Embedded Toolchain/9 2020-q2-update/lib/gcc/arm-none-eabi/9.3.1/include",
                "${workspaceFolder}/Inc",
                "${workspaceFolder}/Drivers/STM32F4xx_HAL_Driver/Inc",
                "${workspaceFolder}/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy",
                "${workspaceFolder}/Drivers/CMSIS/Device/ST/STM32F4xx/Include",
                "${workspaceFolder}/Drivers/CMSIS/Include"
            ],
            "defines": [
                "USE_HAL_DRIVER",
                "STM32F407xx"  
            ],
            "compilerPath": "C:/Program Files (x86)/GNU Arm Embedded Toolchain/9 2020-q2-update/bin/arm-none-eabi-gcc.exe",
            "intelliSenseMode": "gcc-x64",
            "browse": {
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": "",
                "path": [
                    "${workspaceFolder}"
                ]
            }
        }
    ],
    "version": 4
}

这个配置是我研究测试很久得到的,保证没问题,下面详细解释几个重要部分:

  • “name”:这是用于标记使用的平台的标签。除了win32还可以选Linux或Mac。也就是说,这个json里“configuration“下可以写三组配置,只要每组配置前面写上不同的平台,即可在不同的操作系统上使用就会自动适配不同的配置,非常方便
  • "includePath":告诉VS Code该去哪里查找头文件。第一个目录是C语言标准库的目录, 剩下的几个目录直接从Makefile里复制然后稍微修改下即可。"${workspaceFolder}"表示项目文件夹;
  • ”defines“:全局宏定义,告诉VS Code这些宏都被定义了,只是没写在源码中而已。上述多加的两个宏是makefile里的。
  • "compilerPath":指定编译器的路径。因为有一些宏是编译器自带的,连makefile里都没有,例如__GNUC__。有些教程里会让你在defines里面加上__GNUC__,但是这是没必要的。只要你指定了编译器路径,所有的编译器自带的宏就都导入了VS Code。
  • "intelliSenseMode":因为我们用的是gcc所以选gcc-x64
  • "browse.path":源文件搜索路径。据说是用来做代码补全和查找定义的,但是我测试后发现删去也不影响使用,不过还是留着吧。这个路径和includePath不同,browse.path是自动递归所有子目录的。而include.path默认只看本目录。

Ctrl+S保存c_cpp_properties.json文件,发现左边目录里一个红点都没有了,强迫症舒服了!

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值