记一种兼顾各方优点的51单片机开发方式

记一种兼顾各方优点的51单片机开发方式

1. 需要的软件

安装以下软件:

  1. keil_c51 (最好是较新的版本,旧版本可能没有生成编译脚本这一功能,无法获得完整的使用体验)
  2. VSCode 编辑器
  3. STC-ISP下载软件

2. 用前配置

i. Keil配置

如下图,在已经基本配置过的工程中打开设置,选择输出栏,勾选生成批处理文件,点击确定。
keil配置
切记,之后编译一下,就可以看到工程目录下出现了一个与Targer同名的批处理文件,如APP.bat

ii. VScode配置

在vscode中打开工程目录,如果没有名为.vscode的隐藏文件夹,自己新建一下这个文件夹,并在这个文件夹下新建一下几个文件并添加对应内容:

文件 1 : c_cpp_properties.json

这个是c/cpp的配置文件, 主要是告诉vscode你自己和keil的头文件在哪里,以及让vscode适应keil-c51的特殊的地方。

{
    "configurations": [
        {
            "name": "C51",
            "includePath": [
                "D:/xxx/C51/INC",       // 这条对应的keil的各种C语言库
                "${workspaceFolder}/**" // 这条是当前目录的意思
            ],
            "defines": [                // 一些针对编译器的预定义,告诉VSCode一些c51特有的东西
                "IDE_VSCODE",
                "_DEBUG",
                "UNICODE",
                "_UNICODE",
                "sbit=char",
                "sfr=char",
                "data=",
                "idata=",
                "bdata=",
                "pdata=",
                "xdata="
            ],
            "cStandard": "c89",
            "intelliSenseMode": "msvc-x64"
        }
    ],
    "version": 4
}

文件 2

下面这两个文件文件分别为两种不同的调用keil生成的编译批处理文件的方法。

文件 2-1 : tasks.json

这个是VSCode的任务文件,通过这个文件可以配置一些例如编译、清理等任务。

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "${workspaceFolder}/APP.bat", // 这里按照你自己的批处理文件填
            "args": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

文件 2-2 : launch.json

这个是VSCode的调试配置文件,类似于写电脑程序的运行那一步,但是这里不是运行编译之后的xx.exe程序,而是调用xx.bat编译批处理文件,从而进行编译。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(Windows) 启动",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${workspaceFolder}/APP.bat", // 这里按照你自己的批处理文件填
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false
        }
    ]
}


可选文件: settings.json

这个文件是VSCode的当前工作目录的设置文件。一般修改过设置的话都会有这个文件。

下面主要是设置一下文件编码。

{
     "files.encoding": "gb2312" // 这条是为了告诉VSCode文件编码,一般keil中用的是gb,而VSCode默认一般是 utf-8,直接打开会遇到中文乱码的情况。
}

iii. STC-ISP配置

这一步就存粹是为了这个过程的完整性而存在的。。。

如下图,勾选文件变化后自动重载并下载,如果你有个能控制设备复位的下载器,那么连手动复位都省了。
STC-ISP配置

3. 使用方法

i. 组织代码

和使用keil编辑时在一样,添加代码文件。

这里需要注意的是如果你在VSCode中新建了xx.c文件,记得在keil中添加一下,之后在keil中编译一次,这样是为了更新之前的编译批处理文件,当然,如果你是移除,记得在keil中也移除了。

这里如果采用多文件编程的方法,最好是在项目伊始就规划好有哪些文件,创建好文件并添加到keil中。

ii. 编写代码

一句话,善用VSCode,真香!!!

iii. 编译代码

在上面的配置部分,分别提供了两种方法,这里注意区分使用。

此外需要注意编译的输出信息,注意是否报警和报错。必要时回到keil中进行排错。

方法 1. 对应:文件 2-1 : tasks.json

VSCode默认的build任务快捷键为ctrl+shift+B

按下后会开始配置的build任务,调用keil生成的那个编译批处理文件,编译你的程序。

方法 2. 对应:文件 2-2 : launch.json

这种方法按下F5即可。

iiii. 下载程序

编译之后使用STC-ISP下载。

4. 总结

以上的方法是一种优化keil编程体验的一次尝试,根本原理就是利用keil生成编译脚本,通过VSCode的任务等功能以快捷键的形式进行调用,实现程序的编译,但是需要注意的是,组织代码这一环节还是需要在keil中进行,这也意味着需要格外注意你的程序文件是否在keil中(这是个初学者的大坑,当你使用VSCode编辑时也不要忘记这个坑)。

此外,以上的关于VSCode的配置文件,一般是不需要每次都进行的,建议是配置好之后就建立一个工程模版,例如以前STM还没有Cube的时候,做的STM的工程模版一样。

此外,以上的关于VSCode的配置文件,一般是不需要每次都进行的,建议是配置好之后就建立一个工程模版,例如以前STM还没有Cube的时候,做的STM的工程模版一样。

以上的这些内容,如有错误或能改进的地方,还请不吝赐教。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值