1. 写在前面
最近学习了keil与stc-isp等
2. bug日记
2.1 keil编译后hex文件为空
按照老师描述的方法导入工程后编译产生hex文件,但是当我用stc-isp下载时他却告诉我我没有打开hex文件。我:??? 仔细一看好家伙hex文件进入是空的
解决方法:
魔法笔->output->create hex file->name of executable
在name of executable不能带后缀,如果这里填入HELLO.hex则hex文件将为空
2.2 keil 显示c语言语法不高亮
当我搞定了hex文件的问题后,我又发现了别人的keil看c语言都是高亮显示的,凭什么我没有???
然后我打开edit->configuration->colors&fonts中发现没有C/Cpp Edit File
(edit在工具栏上

搜素一番发现是因为我的keil安装路径含有中文路径,于是我把路径中的中文名修改了,代码出现了高亮。但是这个时候出现了下一个问题。。。
参考知乎链接
2.3 Target not created
修改路径后,高亮显示是有了,但是重新build后提示Target not created。
原来好好的代码怎么突然Target not created了?
原来是修改了安装路径中的名称,keil找不到它的依赖库了。
所以我选择重装一遍keil,解决了问题。
但是出现这个错误不一定是我这个问题,相关参考链接点我
2.4 connection to target system lost
老师演示了如何用keil和stc-isp联合debug,步骤流程和这个博客一致
但是自己尝试是却出现了这个错误:connection to target system lost

由于是第一次使用所以没有设置仿真器,所以无法连接。
导入库
先点击这里

找到keil安装的路径,选择确定即可

然后在keil中的:魔法🖊->debug中进行设置
如果调试的是C语言,6处需要勾选run to main
在5.seting中需要设置串口

然后再根据这个博客尝试一遍,就可以正常debug了。
但是这个debug是基于串口P3.0、P3.1的,如果程序中占用了这两个口就不能使用keil+stc-isp一起调试了

2.5 变量未定义

C语言的旧版本中,变量声明必须在函数或任何作用域的开头,而不能在语句之后。
参考链接
小资料:debug小技巧
3. 小结
每次开始尝试使用新工具都是一个艰难的debug之路,奇奇怪怪的问题层出不穷。我把我遇到的问题和解决的方法列出来,仅供尝试。
keil版本: V4.60.6.10
MDK版本: Version 5.37
本文记录了作者在学习使用Keil与STC-ISP过程中遇到的各类问题及解决方案,包括编译后HEX文件为空、C语言语法高亮缺失、Target not created错误、connection to target system lost调试问题以及变量未定义的语法错误。通过调整Keil设置、修复安装路径、配置仿真器设置等方法逐一解决。同时分享了一些debug的小技巧。

363

被折叠的 条评论
为什么被折叠?



