会员登陆
注册会员
首页
电工知识
机械维修
仪器仪表
工业控制
试题总结
安全用电
电力配电
电工配件
导航
本站搜索
电工知识
机械维修
仪器仪表
工业控制
试题总结
安全用电
电力配电
电工配件
家电弱电
业界资讯
通信技术
你的位置:
首页
>
家电弱电
>
单片机
单片机程序死机跑飞原因分析
2017-01-11 10:45:41 | 111人围观 |
评论:0
单片机程序死机,跑飞了可以从以下几个方面查找原因:
1. 意外中断。是否打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断,造成死机假象
2. 中断变量处理不妥。若定义某些会在中断中修改的全局变量,这时要注意两个问题:首先为了防止编译器优化中断变量,要在这些变量定义时前加volatile,其次在主循环中读取中断变量前应该首先关闭全局中断,防止读到一半被中断给修改了,读完之后再打开全局中断;否则出现造成数据乱套。
3. 地址溢出,常见错误为指针操作错误。我要着重说的是数组下标使用循环函数中循环变量,如果循环变量没控制好则会出现数组下标越界,意外修改系统的寄存器造成死机,这种情况下如果死机说明运气好,否则后面不知道发生什么头疼的事。
4. 无条件的死循环;比如使用while(x);等待电平变化,正常情况下x都会变成0,就怕万一,因此最好加上时间限制;
5. 看门狗没有关闭。有的单片机即使没使用看门狗开机时也有可能意外自动开启了最小周期的看门狗,导致软件不断复位,造成死机,这个要看芯片手册,最好在程序复位后首先应该显式清除看门狗再关闭看门狗;
6. 堆栈溢出。最难查找的问题,对于容量小的单片机,尽量减少函数调用层级,减少局部变量,从而减少压栈的时候所需的空间。当你把以上几条都试过不能解决问题,试一试把你的被调用少函数直接内置到调用的地方并且把占用RAM大的局部变量改成全局变量,试一试说不定就可以了。
< 上一篇
MSP430单片机开发总结
下一篇 >
单片机驱动继电器原理
标签:
相关内容推荐:
2020-04-20
51单片机程序执行流程详解
2017-01-11
单片机程序死机跑飞原因分析
2016-12-21
单片机程序存储器
2016-12-07
单片机程序设计当中的“分层屏蔽”思想原理和应用
2016-12-07
单片机程序设计一般步骤
2016-12-07
单片机程序设计方法的介绍(延时程序、子程序、循环程序)
2016-11-30
单片机程序死机原因查找方法
2016-11-10
单片机程序存储器EPROM的扩展
2016-11-07
单片机程序存储器的扩展
2016-11-02
单片机程序编写、仿真、调试常用的软件有哪些?
2016-11-02
单片机程序的作用是什么?如何编写?如何写入单片机?
2016-10-23
51单片机程序进行软件加密和硬件解密的方法
变频器内部主电路简单分析
变频器选择注意事项
变频器的性能指标
低压变频器如何选型?低压变频器选型
安川变频器故障显示方式
变频器怎样接线?变频器接线端子说明
变频器控制的电机按停止按钮时,电机
变频器的输出功率该如何选择?
三菱变频器复位方法
变频器的频率为何调不上去?如何解决
推荐阅读
什么都不会可以学习电工吗?电工难学吗?电工应该怎么样入门?电工应该怎么样学精通?
安防门禁系统常见故障及维修方法
智能门锁用什么电池好?智能门锁电池用碳性好还是碱性好?常见5号AA电池选购指南
装修时零线火线接反了怎么办?老电工教您一招三分钟搞定
小型断路器上标数字都表示什么?小型断路器参数解析
电工经验分享:几个小窍门让你工作起来得心应手
万用表判断单相电机好坏方法图解
家装配电箱接线是否每个回路的零线都要接在零线排上?
电工入门到底该怎么样学习?电工入门应该五步走
电热水壶内部电路原理图及故障维修方法
电控系统运行过程中发生反复切换/
交流电中的有效电流是如何定义的?
什么是相电流和线电流
电机二次启动怎么接线?电动机星三
电气图分类有哪几类?电气图的十二大
单相功率和三相功率的测量方法及电
电气自锁和互锁的区别在哪里?怎么实
电工奇才对消毒机电气控制电路改造
已知设备功率,确定导线截面时需要考
解开面纱看本质 充电宝节电器骗术
最热文章
安装监控需要多少钱?人工费怎么算?安装监控收费标准
电容的公式
电热水壶内部电路原理图及故障维修方法
2020年电工职业资格证取消了?电工职业资格证退出国家目录
7812引脚图及参数,7812稳压电路图
雅迪电动车控制器接线图解读
plc编程工资多少一个月
汽车电动车窗的组成和电路图工作原理图解
新版电工证是不是只有电子版?电工证二维码能造假吗?新二维码电工证照图片
漏电保护器图形符号和文字符号
东芝电梯故障代码说明
汽车空调是耗油还是电
汽车发电机会一直发电吗?
几种易于在工程中使用的算法入门
电力电缆故障检测及故障点定位方法
电工最害怕的味道!
这样的导线发热原来不用换导线就能
西门子840D报警文本的制作
西门子828D一次垂直补偿功能调试
汽车曲轴位置传感器作用原理与识别
统计
全站搜索