单片机运行出错,或者陷入死循环,有可能是硬件电路原因,也有可能是程序原因。
一、排除电路故障
当单片机运行出错,直观的表现就是电路中某一部分不能正常工作,这个时候就需要我们运用电子知识,借助测量工具,检查电路中的故障点,看看是不是电路存在断路、短路等问题,元器件是否正常工作。电压电流是否正常。
程序陷入死循环不一定全是软件原因,例如对于有的单片机,需要时钟配置的,而时钟配置如果不成功的话,程序不运行,如果晶振电路有问题那么程序就会一直停留在时钟配置这段程序中。造成了所谓的死循环。
另外如果电路不稳定,造成程序运行过程中单片机受到干扰,程序就会跑飞。
二、排除程序故障
如果排除的电路的问题,那么就要检查程序了,对于简单的故障,根据经验可能很快就能定位道程序出错的位置和出错原因,那就直接去检查那一段程序,然后修改。
如果故障现象比较复杂,这个时候最好借助仿真器,让程序在仿真环境下运行,运用单步、跳转、断点等仿真手段,在仿真过程中观察程序中的数据或者电路的运行状态,当数据出错或电路故障表现出来的时候,程序运行到哪里了,这个地方可能就存在错误,检查并修改。
对于死循环问题,在程序这几种应尽量避免使用死循环,例如可以设定一个最大等待出错时间,如果超过最大时间,就设置错误警示。如果必须使用死循环,可以考虑使用看门狗等手段,使单片机实现超时复位。
文章题目:电工知识:单片机运行出错或者陷入死循环是什么原因
URL地址:/hangye/sdgz/n13187.html
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联