【STM32 x VScode】如何在vscode上编写stm32程序(固件库函数)

        本人使用keil5也算比较长时间了,但是keil5有个比较大的缺陷就是补全速度太慢,老是用的不太顺手,于是就想着使用万能的vscode来代替一下keil5的编写程序功能。

        注意:这里使用vscode并不是说可以把keil5给卸载了,它还是要借助keil5来工作的,只是我们不用打开keil5而已。

目录

一、软件安装

二、安装插件

1、C/C++

2、Keil Assistant

3、Bracket Pair Colorizer

三、使用Keil Assistant插件

1、设置keil5路径

​编辑

2、导入keil5工程

四、配置环境

1、解决中文乱码

方法一:(较为麻烦,不推荐)

方法二:(一键全部解决,推荐)

2、添加头文件路径

五、程序下载 


一、软件安装

        Download Visual Studio Code - Mac, Linux, Windows

二、安装插件

1、C/C++

        C/C++是C语言编程的必需插件。

2、Keil Assistant

        Keil Assistant是能够让vscode代替keil5编程的最重要的插件。

3、Bracket Pair Colorizer

        Bracket Pair Colorizer是一个改变括号颜色和连接线颜色的插件,增强编程体验。(可装可不装,装了页面更好看点)

三、使用Keil Assistant插件

1、设置keil5路径

        点击扩展设置。

        有两个填写路径的地方,上面那个是keil4的,下面才是keil5的,填写的时候不要填错了。

2、导入keil5工程

        点击资源管理器,会发现下面有个叫做 KEIL UVISION PROJECT 的东西,鼠标移动到上面后,右边就会出现如图所示的符号,点进去找到你想导入的 .uvprojx keil5工程文件,导入即可。

四、配置环境

         导入工程后打开里面的文件,是不是会发现一堆的红色波浪线以及蓝色波浪线?比如这样。这是因为vscode没有设置头文件路径导致的,就像keil5也要指定头文件那样。下面就是设置这些东西。

        首先将导入进vscode的keil5工程的外面整个文件都导入进工作区中,方便下一步的操作。

1、解决中文乱码

方法一:(较为麻烦,不推荐)

方法二:(一键全部解决,推荐)

        在工程文件夹下创建一个 .vscode 文件夹,然后在里面自己手动创建一个 settings.json 文件,在里面添加下面的内容。

        配置这个后,vscode就会根据当前文件的内容自己自动猜测这是什么编码格式,从而转换成所对应的格式,就不用自己手动的一个个的调整编码格式。

{
    "files.autoGuessEncoding": true
}

 

2、添加头文件路径

        在前面创建好的 .vscode 下再手动创建一个 c_cpp_properties.json 文件,这个文件就是用来指定头文件路径的,同时还可以事先声明和指定编译器等功能。

        然后往里面添加下面的内容。

{
    "configurations": [
        {
            "name": "stm32",
            "includePath": [
                // 自己根据情况添加头文件路径
                "${workspaceFolder}/User",
                 
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__CC_ARM",
                "STM32F10X_HD", 
                "USE_STDPERIPH_DRIVER"
            ],
            "browse": {
                "path": [
                    // 这里的跟前面“includePath”保持一致即可
                    "${workspaceFolder}/User",
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            },
            "intelliSenseMode": "gcc-x86"
        }
    ],
    "version": 4
}

        includePath表示的是指定的头文件路径,直接将keil5所指定的头文件路径照搬即可。${workspaceFolder}变量的内容是该工程文件所处的绝对路径,在这里就是C:\Users\Administrator\Desktop\FreeRTOS测试

        defines表示的是要事先定义的内容,使用keil5的都知道,在创建keil5工程的时候,都要声明一两个定义,将那些声明也照搬过来即可。

        声明"__CC_ARM"是为了不让 uint8_t、uint16_t、uint32_t出现警告: 变量 "uint32_t" 不是类型名。

         browse的作用是为了获取path路径下的所有声明,为了保险起见,也要将其设置,内容就跟includePath即可,因为定义的内容都是在头文件定义的。

五、程序下载 

        使用vscode插件下载程序到开发板的时候,它选用的下载器是根据keil5上设置的来进行匹配的,所以在下载之前,要确保keil5上设置的下载器是你所使用的那个。

        至此,就可以使用vscode代替stm32编写、编译和下载了。

猜你喜欢

转载自blog.csdn.net/weixin_48896613/article/details/125737673