如果在用VSCode使用‘Embedded IDE’搭建编写51单片机的环境时。发现搭建的环境编写代码时无法使用’sbit’,错误提示为:“Initializer element is not a constant expression”.
其原因:就是没有设置’Uv4.exe’或“TOOLS.INI”的位置。
解决办法如下:
提示:如果没有安装‘Keil uVision4’,要先安装。因为到时候编译器要调用‘Keil uVision4’的一些相关文件。
1、点击Embedded IDE的图标。进入工作区
2、点击"设置工具链"
3、在弹出的窗口中选中‘Keil MDK (ide path) (used to locate armcc compiler path)’
4、在接下的窗口中进入‘Keil uVision4’安装目录,选择‘TOOLS.INI’ 或者’UV4\Uv4.exe’。
[4-1]、选择"UV4\Uv4.exe"
[4-2]、或者选择"TOOLS.INI"
5、完成配置。现在在‘VSCode’中编写代码使用‘sbit’就不会出现‘Initializer element is not a constant expression’
如图、使用‘sbit’不在出错,成功构建hex。
最后补充一点
新建项目后,记得点击构建项目-切换编译器
然后在弹出的选项,选择“Keil C51Compiler”,即刚才配置的编译器。