使用Visual Studio Code (VS Code)写C51代码(配置指南)_vs从的 c51-程序员宅基地

技术标签: 单片机  

用Keil写代码是会让人发疯的,以前一直用VS stdio 写,后来发现VS Code更强大,于是开始用,但是发现写C51有些关键字是不支持的,老是提出错误,也是几经折腾,终于摸索出一些解决办法,记录下来,碰到这些问题的可以参考一下。

出错提示:
在这里插入图片描述
设置好后
在这里插入图片描述

一、安装VS Code后,需要安装以下两个插件:
1、C/C++ Intellisense 插件
2、Chinese (Simplified)Languge 中文语言插件
有时安装VS Code后输入代码没有提示,是因为没有安装.net framework 4.5.2 ,安装上就好了,这个问题也拆腾了我好久。

二、建立工作区:
1、打开“文件” > “将文件夹添加到工作区” ,选择源文件目录,然后添加
在这里插入图片描述
在左边的资源管理中就会显示文件夹下的所有文件
在这里插入图片描述
2、然后点“文件” > “将工作区另存为“ > 保存到项目目录下,这个保存位置可以自己选择。
在这里插入图片描述
三、配置cpp_properties.json 文件
1、按ctrl+shift+P 打开Command Palette,运行C/Cpp: Edit configurations…生成c_cpp_properties.json:
在这里插入图片描述在这里插入图片描述
2、配置路径信息,在includePath 中输入 “${workspaceFolder}/**” ,输入Keil的头文件存放路径:C:\Keil\C51\INC ,路径注意要用双斜杠。
在这里插入图片描述
路径说明


      "${workspaceFolder}/**",
       "C:\\Keil\\C51\\INC"        表示只搜索当前目录
       "C:\\Keil\\C51\\INC\\**"     \\** 表示搜索当前目录及所有子目录

四、增加C51关键字:
标准C语言是没有C51中的关键字的,像sbit, xdata, interrupt 这种,不添加的话,就会有错误提示,我采用define的方法添加
在 “defines” 中添加
“sbit=char”,
“code=const”,
“xdata=”,
“data=”,
“sfr=char”,
“interrupt=”,
“bit=u8”
在这里插入图片描述
c_cpp_properties.json 文件的文本:

{
    
    "configurations": [
        {
    
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "C:\\Keil\\C51\\INC\\**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE",

                "sbit=char",
               "code=const",
                "xdata=",
                "data=",
                "sfr=char",
                "interrupt=",
                "bit=u8"
            ],
            "intelliSenseMode": "msvc-x64"
        }
    ],
    "version": 4
}

保存文件好JSON文件,大功告成!可以使用VS Code强悍的代码补全功能撸51代码了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Lennon8_8/article/details/113183847

智能推荐

NDK交叉编译NGINX编译环境Linux x86_64_ndk编译nginx-程序员宅基地

文章浏览阅读420次。NDK交叉编译NGINX编译环境Linux x86_64准备编译环境编译openssl编译pcre开始下载nginx修改会报错的地方1.auto/cc/name2.auto/types/sizeof修改自动生成Makefile的conf文件1.auto/lib/pcre/conf2.auto/lib/openssl/conf创建myconfig文件修改无法编译的部分准备编译环境参见《NDK交叉编译OPENSSL编译环境Linux x86_64》中的安装NDK编译openssl参见《NDK交叉编译O_ndk编译nginx

c/c++ 结构体前加不加typedef有什么区别?_c++不加typedef的用法-程序员宅基地

文章浏览阅读1.5k次,点赞5次,收藏5次。结构体前面加不加typedef有什么区别?为什么c程序中定义结构时经常要用到typedef呢?如: typedef struct _am_win_menutext { int idc int message } am_win_menutext 为什么不直接把结构名定义为am_win_menutext然后使用就可以了。取个类型的别名有什么作用呢?---------------------------------那是因为不取别名的话,每次定义都要加struct---_c++不加typedef的用法

HTML ISO-8859-1 参考手册(实体字符)_参考手册是哪个符号-程序员宅基地

文章浏览阅读1.5k次。HTML ISO-8859-1 参考手册Previous PageNext PageHTML 4.01 支持 ISO 8859-1 (Latin-1) 字符集。ISO-8859-1 的较低部分(从 1 到 127 之间的代码)是最初的 7 比特 ASCII。ISO-8859-1 的较高部分(从 160 到 255 之间的代码)全都有实体名称。这些符号中的_参考手册是哪个符号

结对项目——四则运算GUI项目-程序员宅基地

文章浏览阅读120次。一、项目地址:https://git.coding.net/lvgx/wsz.git二、PSP:PSP2.1任务内容计划共完成需要的时间(min)实际完成需要的时间(min)Planning计划1515Estimate估计这个任务需要多少时间并规划...

PhotoZoom Pro 3 无损放大你的照片_photozoompro3-程序员宅基地

文章浏览阅读1.6k次。今天去番薯窝逛 了逛,发现番薯窝发布了一个可以无损放大图片的软件 PhotoZoom Pro 3,一下子对这个软件来了兴趣,以我的常识,只有矢量图放大才不失真,一般的图片放大的话,都要失真的,而这个软件却利用一些算法来弥补失去的像素,让图 片达到不失真放大的效果,真的不错。没经过番薯窝的同意就先转藏一下。一会再去和番薯说一下,应该不会怪罪我吧?PhotoZoom Pro 是一款新颖的、技术_photozoompro3

How to Use the Nslookup Command-程序员宅基地

文章浏览阅读412次,点赞14次,收藏8次。#Linux #Command #Nslookup #DNS

随便推点

imazing 3.0.0.3官方中文破解版2024最新imazing 3百度网盘免费下载-程序员宅基地

文章浏览阅读896次,点赞27次,收藏14次。imazing 3.0.0.3官方中文中文破解版是一款专业又好用的苹果IOS设备管理工具。imazing破解版百度云下载安装后,用户就可以轻松在Mac、PC以及其他任何iOS设备之间自由传输文件了,一键管理、备份、恢复和克隆iOS设备上的内容或软件,实现一端管理多端的便捷服务。imazing 3.0.0.3官方中文中文破解版可以在任何地方用任何电脑,一键传输、管理、备份全部的数据内容,不用受iCloud限制,也不需要提前同步数据或备份,只要安装imazing破解版并连接到iOS设备即可。

一个简单的HTML篮球网页【学生网页设计作业源码】-程序员宅基地

文章浏览阅读804次,点赞21次,收藏16次。精彩专栏推荐 文末获取联系 ️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 作者主页: 【主页——获取更多优质源码】 web前端期末大作业: 【毕设项目精品实战案例 (1000套) 】 程序员有趣的告白方式:【HTML七夕情人节表白网页制作 (110套) 】超炫酷的Echarts大屏可视化源码:【 echarts大屏展示大数据平台可视化(150套) 】 免费且实用的WEB前端学习指南: 【web前端零基础到高级学习视频教程 120G干货分享】 关

用Python表白,把爱和情书写进程序里_python pillow 库 表白 程序-程序员宅基地

文章浏览阅读345次。这不已经十一月了,22年马上就过完了,各位兄弟有对象了吗,现在就是缺钱还缺对象退一步来说,有心仪的人吗啊,如果有的话,看看这篇 程序员的表白小妙招吧安装完成后,我们先来简单介绍几个常用示例新建及保存图片。_python pillow 库 表白 程序

Struts2学习笔记(3)-如何访问Web资源_strust2 如何访问resources文件下html-程序员宅基地

文章浏览阅读257次。一、web资源是什么? web资源是HttpServletRequest、HttpSession、ServletContext等原生的Servlet API。二、为什么要访问web资源? B/S的应用的controller中必然需要访问web资源,比如:向域对象中读写属性、读写Cookie、获取realPath等...三、怎么访问web资源? 访问web资源有两种方式:和Servle_strust2 如何访问resources文件下html

银河麒麟(Linux)磁盘做逻辑卷——LVM_银河麒麟分区vg为空-程序员宅基地

文章浏览阅读1.7k次,点赞8次,收藏9次。Linux银河麒麟v10制作逻辑卷_银河麒麟分区vg为空

python opencv cv2.resize()函数-程序员宅基地

文章浏览阅读2.9k次。**def resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None): # real signature unknown; restored from __doc__ """ resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) -> dst ..._python opencv cv2.resize(

推荐文章

热门文章

相关标签