侵权投诉

关于单片机程序跑飞死机的原因

玩转单片机 2020-08-04 17:13 次阅读

经常接触单片机的朋友,肯定遇到过单片机程序跑飞的问题。由于程序较为复杂,所以一旦出现跑飞的现象就比较难以查找错误出现的地方,网络上对错误的解释和解决方法也比较五花八门,并不方便查找。小编特意帮大家整理了关于单片机程序跑飞死机的原因,大家快来看看能不能在其中找到自己想要答案吧。

单片机程序死机,跑飞了
可以从以下几个方面查找原因:

1、意外中断

是否打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断,造成死机假象。

2、中断变量处理不妥

若定义某些会在中断中修改的全局变量,这时要注意两个问题:首先为了防止编译器优化中断变量,要在这些变量定义时前加volatile;其次在主循环中读取中断变量前应该首先关闭全局中断,防止读到一半被中断给修改了,读完之后再打开全局中断,否则出现造成数据乱套。

3、地址溢出,常见错误为指针操作错误

着重说的是数组下标使用循环函数中循环变量,如果循环变量没控制好则会出现数组下标越界,意外修改系统的寄存器造成死机,这种情况下如果死机说明运气好,否则后面不知道发生什么头疼的事。

4、无条件的死循环

比如使用while(x),等待电平变化,正常情况下x都会变成0,就怕万一,因此最好加上时间限制。

5、看门狗没有关闭

有的单片机即使没使用看门狗开机时也有可能意外自动开启了最小周期的看门狗,导致软件不断复位,造成死机。这个要看芯片手册,最好在程序复位后首先应该显式清除看门狗再关闭看门狗。

6、堆栈溢出

最难查找的问题,对于容量小的单片机,尽量减少函数调用层级,减少局部变量,从而减少压栈的时候所需的空间。当你把以上几条都试过不能解决问题,试一试把你的被调用少函数直接内置到调用的地方并且把占用RAM大的局部变量改成全局变量,试一试说不定就可以了。

通过本篇文章,大家是否找到了自己想要的问题解决方法了呢?就算没有找到,本篇文章也能帮助大家在一定程度上预防跑飞现象的发生。

原文标题:单片机程序总跑飞?小技巧帮你忙

文章出处:【微信号:mcu168,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

单片机与FPGA异步串行通信的实现方法

介绍了单片机与FPGA 异步串行通信的实现方法,给出了系统结构原理框图及其部分VHDL 程序,并定义....
发表于 09-29 16:20 3次 阅读
单片机与FPGA异步串行通信的实现方法

单板机与单片机两者的区别和联系

微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分....
的头像 我快闭嘴 发表于 09-29 15:11 65次 阅读
单板机与单片机两者的区别和联系

智能考勤管理系统资料分享(原理图+源码+文档)

现今指纹识别技术在考勤和门禁安全等方面有很大应用,该智能管理系统的硬件主要由微处理器、指纹识别模块、液晶显示模块、键盘、...
发表于 09-29 13:51 0次 阅读
智能考勤管理系统资料分享(原理图+源码+文档)

智能家居管理系统(原理图+APP+源代码等)

本设计做的智能家居管理系统,控制芯片为STC89C52。界面写的很简单,界面就实现了时间、温度、烟雾、人体感应、打电话、发短...
发表于 09-29 09:18 101次 阅读
智能家居管理系统(原理图+APP+源代码等)

Verilog中的二维数组说明

Verilog中提供了两维数组来帮助我们建立内存的行为模型。具体来说,就是可以将内存宣称为一个reg....
的头像 电子发烧友网工程师 发表于 09-28 11:35 55次 阅读
Verilog中的二维数组说明

嵌入式工程师给你讲讲裸编程的思想和具体做法

(一)裸编程是什么? 先声明一个概念,裸编程,指的是在裸机上编写程序,裸机,在单片机领域就是指带着硬....
的头像 工程师人生 发表于 09-28 11:19 76次 阅读
嵌入式工程师给你讲讲裸编程的思想和具体做法

电子琴DIY设计(原理图+PCB+源码+仿真)

该设计采用单片机作为主控制芯片,外接灯光闪烁功能和8音调键。共有8个音节和4个功能按键。可播放内置乐曲,可弹奏录音,采用24C...
发表于 09-28 10:42 113次 阅读
电子琴DIY设计(原理图+PCB+源码+仿真)

单片机驱动蜂鸣器发声原理

内部没有震荡源的为无源蜂鸣器,给直流电不能响,需要提供一定频率的脉冲信号才能够有响声,而且声音随着频....
的头像 电路设计技能 发表于 09-27 16:10 137次 阅读
单片机驱动蜂鸣器发声原理

MCU市场的下一个十年会是怎样的?

从系统和架构上看,本土MCU供应商中,华大占了低功耗M0+的坑,兆易创新抢了M3/M4的先机。至于其....
发表于 09-27 16:05 237次 阅读
MCU市场的下一个十年会是怎样的?

基于STM32+DS18B20的人体健康监测仪设计方案

本设计由STM32F103C8T6单片机核心板电路+蓝牙模块电路+DS18B20温度传感器电路+心率....
的头像 电路设计技能 发表于 09-27 16:03 544次 阅读
基于STM32+DS18B20的人体健康监测仪设计方案

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连连载】鸿蒙OS WiFi lot smart home kit开箱报告

       电子发烧友又举行开发板试用活动了,我很幸运,获得了鸿蒙OS WiFi lot smart home kit的试用机会...
发表于 09-27 14:43 3次 阅读
【HarmonyOS HiSpark Wi-Fi IoT 套件试用连连载】鸿蒙OS WiFi lot smart home kit开箱报告

关于单片机入门的常见问题解答

很多同学想要学习单片机,但是没有任何基础,不知道该如何入门,今天就和大家分享一些单片机编程入门前要了....
发表于 09-27 14:42 99次 阅读
关于单片机入门的常见问题解答

Microchip利用32位单片机简化边缘人工智能设计

Microchip人机界面和触摸产品部副总裁Fanie Duvenhage表示:“我们32位单片机在....
的头像 Microchip微芯 发表于 09-27 13:56 157次 阅读
Microchip利用32位单片机简化边缘人工智能设计

十七种电路设计原理图资料!

单片机17种电路设计原理图:1、双路232通信电路, 2、三极管串口通信,3、单路232通信电路,4、USB转232电路 ,5、SP706S...
发表于 09-27 09:28 414次 阅读
十七种电路设计原理图资料!

无线遥控器的构成和匹配方法的详细资料说明

接收部分一般来说也分为两种类型,即超外差和超再生接收方式,超再生解调电路也称超再生检波电路,它实际上....
发表于 09-27 08:00 60次 阅读
无线遥控器的构成和匹配方法的详细资料说明

如何使用单片机驱动电磁式继电器

在各种自动控制设备中,都存在一个低压的自动控制电路与高压电气电路的互相连接问题,一方面要使低压的电子....
的头像 Wildesbeast 发表于 09-26 11:44 223次 阅读
如何使用单片机驱动电磁式继电器

MSP430系列单片机六种工作方式及原理图与芯片封装

MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令....
的头像 39度创意研究所 发表于 09-26 11:37 566次 阅读
MSP430系列单片机六种工作方式及原理图与芯片封装

单片机ISP编程器的使用教程说明

在Keil集成开发环境中完成了工程建立、源程序输入、源程序编译等工作后,得到了.HEX目标文件。单片....
的头像 Wildesbeast 发表于 09-26 11:36 141次 阅读
单片机ISP编程器的使用教程说明

单片机遥控解码的源代码详细说明

本文档的主要内容详细介绍的是单片机遥控解码的源代码详细说明。
的头像 Wildesbeast 发表于 09-26 11:07 114次 阅读
单片机遥控解码的源代码详细说明

如何将单片机操作系统RTX51移植到单片机实验平台

每一个标准进程都包含一个设备上下文在扩展内存(XDATA)中。在标准进程执行进程切换的时候,会把它自....
的头像 Wildesbeast 发表于 09-26 11:07 112次 阅读
如何将单片机操作系统RTX51移植到单片机实验平台

基于PL2303HX芯片的USB转TTL电路设计

在很多单片机应用场景中,都需要USB转TTL模块来实现上位机与单片机通信。 一、USB转TTL简介 ....
的头像 39度创意研究所 发表于 09-26 11:02 347次 阅读
基于PL2303HX芯片的USB转TTL电路设计

单片机解算D-Bus信号分享

void Remote_Rx(uint8_t *RxMsg) {     int ind = 0;      //飞控接收机八通道算法 &nbs...
发表于 09-26 10:49 101次 阅读
单片机解算D-Bus信号分享

新人求问单片机引脚怎么知道该用哪个?

刚接触单片机开始做原理图,想知道主控那么多引脚,除了特殊引脚外那其他的引脚我怎么知道该用哪个啊,希望解答非常感谢 ...
发表于 09-26 10:33 101次 阅读
新人求问单片机引脚怎么知道该用哪个?

单片机最小体系电路原理

单片机最小体系,也叫做单片机最小运用体系,是指用起码的原件构成单片机能够作业的体系。单片机最小体系的....
的头像 电子魔法师 发表于 09-26 09:55 131次 阅读
单片机最小体系电路原理

使用单片机实现数码管实验的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用单片机实现数码管实验的程序和工程文件免费下载。
发表于 09-25 17:33 24次 阅读
使用单片机实现数码管实验的程序和工程文件免费下载

使用单片机实现流水灯实验的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用单片机实现流水灯实验的程序和工程文件免费下载。
发表于 09-25 17:33 33次 阅读
使用单片机实现流水灯实验的程序和工程文件免费下载

使用单片机点亮LED灯的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用单片机点亮LED灯的程序和工程文件免费下载。
发表于 09-25 17:33 51次 阅读
使用单片机点亮LED灯的程序和工程文件免费下载

使用单片机实现独立按键的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用单片机实现独立按键的程序和工程文件免费下载。
发表于 09-25 17:33 32次 阅读
使用单片机实现独立按键的程序和工程文件免费下载

使用单片机实现蜂鸣器的程序和工程文件免费下载

本文档的主要内容详细介绍的是使用单片机实现蜂鸣器的程序和工程文件免费下载。
发表于 09-25 17:33 27次 阅读
使用单片机实现蜂鸣器的程序和工程文件免费下载

求一个单片机毕业设计题

求一个单片机毕业设计选题
发表于 09-25 16:33 53次 阅读
求一个单片机毕业设计题

AT89S52单片机的引脚说明

AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。它是....
发表于 09-25 15:42 90次 阅读
AT89S52单片机的引脚说明

单片机编程原理_单片机的应用

在正式进入今天的主题单片机原理之前我们首先要了解单片机是一个什么样的事物,以及特性和应用只有在了解透....
发表于 09-25 15:36 112次 阅读
单片机编程原理_单片机的应用

由主机和从机组成的老人摔倒神器 主机和从机间通过zigbee实现数据通讯

本设计由主机和从机组成。主机和从机间通过zigbee实现数据通讯。 主机由STM32f103c8t6....
的头像 电路设计技能 发表于 09-25 14:07 132次 阅读
由主机和从机组成的老人摔倒神器  主机和从机间通过zigbee实现数据通讯

【每日推荐】单片机设计要点须知,多的是你不知道的事!

可编程逻辑器件和单片机结合的滤波器模块设计 以 单片机 和 可编程逻辑 器件( FPGA )为控制核....
的头像 科技前沿 发表于 09-25 14:05 206次 阅读
【每日推荐】单片机设计要点须知,多的是你不知道的事!

【每日推荐】单片机设计要点须知,多的是你不知道的事!

以单片机和可编程逻辑器件(FPGA)为控制核心,设计了一个程控滤波器,实现了小信号程控放大、程控调整滤波器截止频率和幅...
发表于 09-25 13:39 65次 阅读
【每日推荐】单片机设计要点须知,多的是你不知道的事!

广州塔小蛮腰电路设计方案(原理图+源码)

本次设计主要是利用单片机控制点阵的原理,控制广州塔展示效果,还通过单片机内置的ADC对音频信号进行采样,然后控制广州塔亮...
发表于 09-25 09:40 827次 阅读
广州塔小蛮腰电路设计方案(原理图+源码)

51开发板能干什么_51开发板的使用

51开发板也称51单片机实验板、51单片机学习板。是用于学习51型号的单片机的实验及学习器件,他是将....
发表于 09-24 15:30 136次 阅读
51开发板能干什么_51开发板的使用

如何入门嵌入式

为毕业后能找到工作而读书,本着务实精神,从入学那一刻起就要开始准备找工作了。 发这篇文章主要是针对大....
的头像 STM32嵌入式开发 发表于 09-24 11:58 200次 阅读
如何入门嵌入式

制作基于51单片机红外视力保护器

2018-822、51-26成品+语音报警设计 本设计由STC89C52单片机电路+红外避障模块电路....
的头像 电路设计技能 发表于 09-24 11:48 119次 阅读
制作基于51单片机红外视力保护器

基于STC8A8K64S4A12单片机设计的数字温度计

数字温度计采用进口芯片组装精度高、高稳定性,误差≤0.5%, 内电源、微功耗、不锈钢外壳,防护坚固,....
的头像 电路设计技能 发表于 09-24 11:27 92次 阅读
基于STC8A8K64S4A12单片机设计的数字温度计

基于STM32单片机设计的智能花盘

智能花盆设计思想:通过传感器检测植物生长环境参数,如温湿度、光照等。判断植物的生长环境状况,当植物需....
的头像 电路设计技能 发表于 09-24 11:23 130次 阅读
基于STM32单片机设计的智能花盘

单片机对GPRS电路板的开关控制实现案例

案例描述:“灯控项目”中让单片机通过IO口控制继电器,继电器接入GPRS电路板供电电源,从而实现单片....
的头像 西西 发表于 09-24 10:01 288次 阅读
单片机对GPRS电路板的开关控制实现案例

在Keil C51软件中51单片机的中断服务和外设驱动程序的开发

在移植的过程中,采用Keil C51作为编译环境。KeilC5l集成C编译和汇编器。中断子程序用汇编....
的头像 电子设计 发表于 09-24 09:47 137次 阅读
在Keil C51软件中51单片机的中断服务和外设驱动程序的开发

使用ATmega16单片机实现无线充电小车的设计方案说明

本作品主要包括无线充电装置、无线充电电动车和超级电容储能装置。首先先将 5V的直流电经过 LC自激振....
发表于 09-24 08:00 27次 阅读
使用ATmega16单片机实现无线充电小车的设计方案说明

使用STM32单片机实现传感器接口模块的设计资料说明

基于 STM32实现了电流型、电压型以及数字 IO 型传感器接口 模块;进行了接口模块的软件设计,说....
发表于 09-24 08:00 28次 阅读
使用STM32单片机实现传感器接口模块的设计资料说明

DZR-01A V2.0单片机开发板的PCB和电路原理图免费下载

DZR-01A V2.0单片机开发板是为学习单片机技术与开发单片机项目而设计的一款优秀的工具产品。该....
发表于 09-24 08:00 36次 阅读
DZR-01A V2.0单片机开发板的PCB和电路原理图免费下载

如何学习单片机方法和步骤说明

学习单片机的动机不外乎有四种:一是为兴趣爱好而学,二是为专业而学;三是为饭碗而学;四是在工作中被逼而....
发表于 09-24 08:00 43次 阅读
如何学习单片机方法和步骤说明

如何使用STM32单片机实现数据采集系统

信号采集主要包括电压信号、电流信号、频率信号以及开关量信号,随着现代技术的发展,传感器主要输出标准的....
发表于 09-24 08:00 57次 阅读
如何使用STM32单片机实现数据采集系统

使用单片机和氧化锆氧传感器实现高温湿度测量仪的设计说明

以极限电流型氧化锆氧传感器为敏感部件,以单片机C8051F330为核心,开展了高温环境下湿度测量仪的....
发表于 09-24 08:00 28次 阅读
使用单片机和氧化锆氧传感器实现高温湿度测量仪的设计说明

单片机C语言模块化编程的实例说明

当你在一个项目小组做一个相对较复杂的工程时,意味着你不再独自单干。你需要和你的小组成员分工合作,一起....
发表于 09-24 08:00 104次 阅读
单片机C语言模块化编程的实例说明

使用MSP430单片机实现多功能定时器的论文说明

(1)设计一个倒计时器,定时范围99 分60 秒,用液晶作为显示器。4 个按键控制,分别是分钟加一、....
发表于 09-23 17:54 41次 阅读
使用MSP430单片机实现多功能定时器的论文说明

使用51单片机设计PCB电路板制作系统的详细资料说明

以51系列单片机STC89S52为核心设计系统来实现对PCB电路板制作系统的控制,该系统具有控温,温....
发表于 09-23 17:54 51次 阅读
使用51单片机设计PCB电路板制作系统的详细资料说明

一文解析单片机的发展前景

单片机未来发展前景如何在了解单片机的发展前景之前我们要先了解单片机在我们的实际社会需求中有什么样的应....
发表于 09-23 16:39 189次 阅读
一文解析单片机的发展前景

51单片机可以做什么

51单片机作为学习单片机的过程中必须要经过的一个过程来讲是非常重要的,原因在于51单片机从内部的硬件....
发表于 09-23 14:42 116次 阅读
51单片机可以做什么

使用单片机的PWM信号控制智能小车的方法详细说明

本文介绍了使用51单片机的输出端口产生四路占空比可调的PWM信号,驱动四轮两路智能小车的软件实现方法....
发表于 09-23 08:00 38次 阅读
使用单片机的PWM信号控制智能小车的方法详细说明

如何快速入门单片机

好多人学习单片机始终不能入门,那怎么才能快速的入门呢?
发表于 09-22 17:33 234次 阅读
如何快速入门单片机

单片机程序的编写方法

学习单片机最主要的是学习写程序的方法,程序的功能千变万化,是学不完的,只有掌握了一定方法,才能用这种....
发表于 09-22 17:17 247次 阅读
单片机程序的编写方法

使用单片机制作一个简单的应用系统详细资料说明

本文档的主要内容详细介绍的是使用单片机制作一个简单的应用系统详细资料说明。
发表于 09-22 17:09 43次 阅读
使用单片机制作一个简单的应用系统详细资料说明

单片机实现延时的方法

实现延时通常有两种方法:一种是硬件延时,要用到定时器/计数器,这种方法可以提高CPU的工作效率,也能....
的头像 传感器技术 发表于 09-22 11:46 172次 阅读
单片机实现延时的方法

基于8051F350单片机实现温度采集监控系统的应用方案

温度是生产过程和科学试验中普遍且重要的物理参数。在工业生产中,为了高效生产,必须对生产过程中的主要参....
的头像 电子设计 发表于 09-21 17:33 504次 阅读
基于8051F350单片机实现温度采集监控系统的应用方案