单片机程序跑飞原因

参考:单片机程序又跑飞?
作者:嵌入式ARM
网址:https://mp.weixin.qq.com/s/a22zVdSfCqWjSmlBxK2R1Q

目录

  • 数组越界/溢出
  • 中断服务程序缺失
  • 看门狗复位

单片机中有看门狗,长时间不喂狗,程序就会复位。为什么长时间不喂狗呢?这是因为程序跑飞了,抛开外部因素不谈。今天就和大家分享一下,单片机程序跑飞的几个原因。

在编写单片机程序的时候,由于中断服务程序写的不好,导致单片机程序总是跑飞,最后费了好长时间,花了很大功夫才找到问题原因,由此总结了单片机程序跑飞的三种现象、原因以及解决方法。

数组越界/溢出

现象:

单片机程序在函数中运行时,总是在运行到函数末尾,要跳出函数时,程序跑飞。

原因:

数组越界(数组溢出),函数中定义的数组元素的个数小于程序中实际使用的数组元素的个数,例如在函数中定义了一个数组ucDataBuff[10],这个数组只有10个元素,但是在函数中却有这样的语句ucDataBuff[10]=0x1a,这个语句是给数组的第11个元素赋值,:由于定义的数组只有10个元素,从而导致赋值语句中不知道把0x1a放到什么地方,从而导致程序跑飞。

解决方法:

如果在调试程序时,发现程序总是在函数执行完毕时跑飞,多数情况是发生了数组越界(数组溢出)的错误,仔细检查函数中调用的数组是否存在越界(溢出)的情况。

中断服务程序缺失

现象:

程序运行过程中总是跑飞。

原因:

程序中打开了某个中断,但是却没有相应的中断服务程序,从而导致在中断发生后,找不到中断服务程序入口,从而导致程序跑飞。

解决方法:

检查程序中是否存在打开了某个中断,但是没有相对应的中断服务程序。

看门狗复位

现象:

在执行一段较为耗费时间的程序时,程序跑飞,并且总是跳到复位位置处。

原因:

程序中使用了看门狗,但是没有及时“喂狗”,从而导致看门狗复位,使程序直接跳到复位位置。

解决方法:

根据程序运行时间,尤其是一定要计算清楚最耗时的那段程序的运行时间,然后准确设置看门狗的复位时长,定时“喂狗”,尤其是如果有死循环的情况,一定要在死循环中记得“喂狗”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html5大赛是什么,IE9开发大赛为HTML5打了一针兴奋剂

尽管HTML5是一种新的网页浏览标准,目前仅有苹果和微软的IE9支持该标准。客观地说,HTML5还是小众用户的标准。对于IE9来说,如果HTML5标准无法普及,IE9的硬件加速和性能优势就无从体现。加之Adobe一直力挺Flash,这对HTML…

apicloud手机查看效果

1.wifi全量同步 2.本地编译 需要在同一个WiFi中,WiFi全量同步,手机才会接受文件当代码改动时,需要本地编译后进行下载 如果是在海马模拟器上看效果,直接选择云编译自定义apploader-编译-下载apk文件-直接把apk文件拖进海马模拟器 …

Java关键字final使用详解

2019独角兽企业重金招聘Python工程师标准>>> http://docs.oracle.com/javase/tutorial/java/IandI/final.htmlWriting Final Classes and MethodsYou can declare some or all of a classs methods final. You use the final keyword in a method declaration to in…

一行代码揭开CPU执行原理

参考:一行代码,揭开CPU执行原理! 作者:嵌入式ARM 网址:https://mp.weixin.qq.com/s/qFnKhWqBGRCFAnp_KC1dmw 目录1、高级语言2、编译链接3、机器指令4、指令格式5、执行指令拓展总结很多刚刚入坑的小白可能对此完全没有…

html链接txt文件,怎么在TXT文件中建立超链接

参考方法如下:1、在桌面鼠标依次右键——新建——文本文档;2、在记事本中输入命令:echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemd…

spark 2.4安装

1、spark 官网选择对应Hadoop的版本,之前安装的Hadoop版本为hadoop-3.0.2,获取下载包:wget http://mirrors.hust.edu.cn/apache/spark/spark-2.4.0/spark-2.4.0-bin-hadoop2.7.tgz2、解压缩安装包,创建软连接:tar -zxv…

redhat 挂载 iso文件 提示 mount :not a directory

redhat 挂载 iso文件 提示 mount :not a directory posted on 2013-12-28 22:26 秦瑞It行程实录 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/ruiy/p/errors.html

C语言常见编译错误及分析

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程刷题面经求职讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进…

计算机组成原理实验 组装实验报告,计算机组成原理实验一实验报告..doc

计算机组成原理实验一实验报告.实验一 运算器实验算术逻辑运算器实验目的:掌握算术逻辑运算器单元ALU(74LS181)的工作原理掌握简单运算器的数据传送通道验算由74LS181等组合逻辑电路组成的运算功能发生器运算功能按给定数据,完成实验指定的算术/逻辑运算…

FIS.js前端开发的使用说明文档

文档结构什么是FIS部署FISFIS基本使用模块定义加载方式调用Tangram 2.0一.什么是FIS FIS提供了一套贯穿开发流程的开发体系和集成开发环境,为产品线提供前端开发底层架构,这能帮助工程师提高开发效率,沟通协作效率,快速实现需求并…

典型用户和用户场景描述

场 景 / 故 事 / Story 版权信息 :大浪淘沙 版本信息 :Beta Version(测试版) 维护人信息:热心市民隔壁老王 版本记录:目前版本为第一期测试版 1.背景: (一)典…

面经——嵌入式常见面试题总结100题(上)

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程刷题面经求职讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进…

计算机专业运动会口号,运动会口号押韵有气势 计算机系霸气口号

淡泊明志,宁静致远,团结友爱,顽强拼搏。下面是文艺范收集的运动会口号押韵有气势,计算机系霸气口号,欢迎阅读收藏。1、球进了球,分了就会,不怕**,战无不胜。2、阳光运动,…

1. 观察者模式总结(C++)

1. 介绍 观察者模式:定义了一种“一对多”的依赖关系,让多个观察者对象同时监听一个对象的改变,即当该对象的状态发现改变时,会通知所有它依赖的观察者对象。观察者模式属于行为模式。 意图:定义对象间的一种一对多的依…

面经——嵌入式常见面试题总结100题(下)

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程刷题面经求职讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进…

学计算机要不要护发,脱发平时应该注意什么 四个妙招教你如何防止脱发

头发一掉,失去的不仅仅是发丝,还有美丽与颜值,一把把辛酸泪只能往肚子里吞。秃头星人们,如果已经脱发了,日常一定要加倍注意哦,一些错误的护发方法不要踩坑,护理、食疗、良好的生活作息&#xf…

C++面向对象类的实例题目一

在一个程序中,实现如下要求: (1)构造函数重载 (2)成员函数设置默认参数 (3)有一个友元函数 (4)有一个静态函数 (5)使用不同的构造函数…

iframe父子页面间的关系

在hbBank项目中&#xff0c;客户信息查询使用了&#xff0c; iframe引入外界的页面&#xff0c;使用代码如下&#xff1a; <iframe id"tab-3" class"hidden" name"tab-3" marginwidth0 marginheight0 width100% src"../commomFile/othe…

面经——嵌入式软件工程师ARM体系与架构相关

参考&#xff1a;嵌入式软件工程师笔试面试指南-ARM体系与架构 作者&#xff1a;嵌入式与Linux那些事 发布时间&#xff1a; 2021-04-28 15:22:06 网址&#xff1a;https://blog.csdn.net/qq_16933601/article/details/116234673 目录 ARM体系与架构硬件基础NAND FLASH 和NOR F…

下列属于计算机人工智能应用领域的是多选题,每天五道选择题(10)

原标题&#xff1a;每天五道选择题(10)1.在Windows7操作系统中&#xff0c;磁盘维护包括硬盘检查、磁盘清理和碎片整理等功能&#xff0c;磁盘清理的目的是( )。A.提高磁盘存取速度B.获得更多磁盘可用空间C.优化磁盘文件存储D.改善磁盘的清洁度▼答案&#xff1a;B【解析】磁盘…