关于STC单片机“假死”状态的判别和处理方法
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于STC单片机“假死”状态的判别和处理方法相关的知识,希望对你有一定的参考价值。
关于STC单片机“假死”状态的判别和处理方法
- 申明这里不是来黑
STC
单片机的。
今天在测试程序过程中发现,我的
STC8G2K64S4
开发板突然就烧录不进去程序了,刚刚还烧录一切正常的,突然之间就烧录不进去程序了,串口能识别到,通过ISP软件不管板子冷启动就是检测不到单片机,串口号是有的,单片机不可能这么弱不禁风就牺牲了吧,没有做任何的物理操作,烧个程序也能烧坏单片机那也不至于。
今天打开STC-ISP 烧录软件,提示有新版本,升级了版本
v6.90
原因分析
至于为什么STC ISP
软件识别不到芯片,以下是我的个人观点:
- 在IO口操作上,使用了外部晶振引脚作为输入或输出引脚,在单片机开发过程中尽量避免使用晶振引脚,这里仅只使用外部晶振的情况下,因为有些型号是内部提供晶振的。
- 确实是在
STC ISP
工具那里点到了下面的选项。(选择不同的型号单片机,这里显示短接接地的引脚不一定是P1.0、P1.1有可能是P3.2、P3.3)
STC-ISP
V6.88J版本,旧版
stc-isp-v6.90
版本,目前最新款,遇到的第一件囧事。
在
stc-isp-v6.90
版本,选择的是STC8G2K64S4
,我敢肯定我是不可能去勾选上面的选项,因为之前我遇到过这个情况,下载时点中了“下次冷启动时,P3.2/P3.3为0/0才可下载程序
”,因为在之前我是烧录了几遍程序进行测试过的,是突然间就这样出现假死,识别不到的情况。
首先我要纠正STC-ISP
这里的一个错误:针对STC8G
型号的单片机,这里显示的“下次冷启动时,P3.2/P3.3为0/0才可下载程序
”实际上应该是:像STC89型号的单片机一样,“下次冷启动时,P1.0/P1.1为0/0才可下载程序
”.至于为什么我能发现这个问题,在此之前记录过一些采坑经验。针对不同的单片机型号短接的IO引脚有些差异,这里针对STC8G2K64S4
型号单片机,STC-ISP
软件提供的参考信息这里是有问题的,需要注意这点。我是尝试了短接P3.2/P3.3到地无果后,再尝试短接P1.0/P1.1到地有反应才发现的。
去年发表过一篇关于STC烧录的文章;
在该篇文章中看到这张图片:
在尝试按照STC-ISP
对应型号的“
下次冷启动时,P3.2/P3.3为0/0才可下载程序”,
选项操作并没有成功,才尝试使用之前的“下次冷启动时,P1.0/P1.1为0/0才可下载程序
”按照此接法,点击检测MCU,立马看到有串口指示灯在闪烁了,并成功检测到单片机型号。
单片机假死判断
如果知道单片机里面烧录了什么程序,如果有IO口状态的,可以去测量对应的IO口状态是否正常。如果IO正常,那可以肯定单片机没有坏,只是ISP检测不到单片机。
以上是关于关于STC单片机“假死”状态的判别和处理方法的主要内容,如果未能解决你的问题,请参考以下文章