keil 的bug日记

本文记录了作者在学习使用Keil与STC-ISP过程中遇到的各类问题及解决方案,包括编译后HEX文件为空、C语言语法高亮缺失、Target not created错误、connection to target system lost调试问题以及变量未定义的语法错误。通过调整Keil设置、修复安装路径、配置仿真器设置等方法逐一解决。同时分享了一些debug的小技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值