㈠ 什么叫单片机的程序“跑飞”
用看门狗,跑飞了一回重新启动,干扰把电源做好一点,滤波做好一点,如果有必要可以加个金属屏蔽罩之类的,单片机选择抗干扰性能好点的,比如avr,stc这些,根据对c8051f系列的抗干扰测试,这单片机不适合在干扰大的地方使用,其他430单片机没测试过,还不知道抗干扰怎么样。谢谢
㈡ 什么叫程序跑飞
程序跑飞是指系统受到某种干扰后,程序计数器PC的值偏离了给定的唯一变化历程,导致程序运行偏离正常的运行路径.程序跑飞因素及后果往往是不可预计的.在很多情况下,程序跑飞后系统会进入死循环而导致死机。
计算机程序(Computer Program),港、台译做电脑程式。计算机程序是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。
它以某些程序设计语言编写,运行于某种目标结构体系上。打个比方,程序就如同以英语(程序设计语言)写作的文章,要让一个懂得英语的人(编译器)同时也会阅读这篇文章的人(结构体系)来阅读、理解、标记这篇文章。一般的,以英语文本为基础的计算机程序要经过编译、链接而成为人难以解读,但可轻易被计算机所解读的数字格式,然后放入运行。
程序是一个指令序列。
如果您在一个符合大多数的计算机上,操作系统例如Windows、Linux等,加载并执行很多的程序,在这种情况下,每一个程序是一个单独的映射,并不是计算机上的所有可执行程序。
它是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。
㈢ stm8程序跑飞了,如何检测是什么原因导致的 可以通过软件中断看出跑飞之前执行了什么操作吗
你指的跑飞是什么概念,是你所有的程序都不执行了吗。你可以简单的写个按键啊或者小灯程序测试下,是否内存溢出还是有别的地方有问题,如果全不行,就是试试你的硬件,电压啊,还有干扰等等造成的
㈣ 单片机程序跑飞怎么去查找原因呢
对于简单的错误,如果能初步猜测到执行哪个函数后跑飞的,那就可以直接单步调试,看看什么原因,不外乎指针非法操作,数组越界之类的。
还有一种笨方法,注释函数,如果注释函数后bug不再现,那么就可以按照刚刚说的单步进去这个函数,看看有什么问题。
更有效的但是也对水平要求更高的方法可以看一下别人的方法。
下面是几个链接,可以看看,学习一下。
记一次STM32中HardFault问题的调试解决
如何找到导致程序出现HardFault
STM32硬件错误HardFault_Handler的处理方
定位产生HARD FAULT之前的代码