技术标签: 单片机
用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代码了。
文章浏览阅读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
文章浏览阅读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的用法
文章浏览阅读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 之间的代码)全都有实体名称。这些符号中的_参考手册是哪个符号
文章浏览阅读120次。一、项目地址:https://git.coding.net/lvgx/wsz.git二、PSP:PSP2.1任务内容计划共完成需要的时间(min)实际完成需要的时间(min)Planning计划1515Estimate估计这个任务需要多少时间并规划...
文章浏览阅读1.6k次。今天去番薯窝逛 了逛,发现番薯窝发布了一个可以无损放大图片的软件 PhotoZoom Pro 3,一下子对这个软件来了兴趣,以我的常识,只有矢量图放大才不失真,一般的图片放大的话,都要失真的,而这个软件却利用一些算法来弥补失去的像素,让图 片达到不失真放大的效果,真的不错。没经过番薯窝的同意就先转藏一下。一会再去和番薯说一下,应该不会怪罪我吧?PhotoZoom Pro 是一款新颖的、技术_photozoompro3
文章浏览阅读412次,点赞14次,收藏8次。#Linux #Command #Nslookup #DNS
文章浏览阅读896次,点赞27次,收藏14次。imazing 3.0.0.3官方中文中文破解版是一款专业又好用的苹果IOS设备管理工具。imazing破解版百度云下载安装后,用户就可以轻松在Mac、PC以及其他任何iOS设备之间自由传输文件了,一键管理、备份、恢复和克隆iOS设备上的内容或软件,实现一端管理多端的便捷服务。imazing 3.0.0.3官方中文中文破解版可以在任何地方用任何电脑,一键传输、管理、备份全部的数据内容,不用受iCloud限制,也不需要提前同步数据或备份,只要安装imazing破解版并连接到iOS设备即可。
文章浏览阅读804次,点赞21次,收藏16次。精彩专栏推荐 文末获取联系 ️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 作者主页: 【主页——获取更多优质源码】 web前端期末大作业: 【毕设项目精品实战案例 (1000套) 】 程序员有趣的告白方式:【HTML七夕情人节表白网页制作 (110套) 】超炫酷的Echarts大屏可视化源码:【 echarts大屏展示大数据平台可视化(150套) 】 免费且实用的WEB前端学习指南: 【web前端零基础到高级学习视频教程 120G干货分享】 关
文章浏览阅读345次。这不已经十一月了,22年马上就过完了,各位兄弟有对象了吗,现在就是缺钱还缺对象退一步来说,有心仪的人吗啊,如果有的话,看看这篇 程序员的表白小妙招吧安装完成后,我们先来简单介绍几个常用示例新建及保存图片。_python pillow 库 表白 程序
文章浏览阅读257次。一、web资源是什么? web资源是HttpServletRequest、HttpSession、ServletContext等原生的Servlet API。二、为什么要访问web资源? B/S的应用的controller中必然需要访问web资源,比如:向域对象中读写属性、读写Cookie、获取realPath等...三、怎么访问web资源? 访问web资源有两种方式:和Servle_strust2 如何访问resources文件下html
文章浏览阅读1.7k次,点赞8次,收藏9次。Linux银河麒麟v10制作逻辑卷_银河麒麟分区vg为空
文章浏览阅读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(