单片机程序什么情况下会跑飞,跑飞的时候内部程序发生了什么
-
创建于2018-11-28
10个回答
-
- XH750507 Lv7 . 资深专家 (0)
- 堆栈溢出 干扰
- 创建于2018-12-02
-
- 勇往直前1234 Lv6 . 高级专家 (0)
- 死机
- 创建于2018-11-30
-
- witt Lv7 . 资深专家 (0)
- 跑飞的原因太多了,跳转错误,程序错误,内存错误,都可能造成跑飞
- 创建于2018-11-29
-
- 通宵虫 Lv7 . 资深专家 (0)
- 堆栈溢出,电磁干扰之类的,一般是会进去一个异常中断,然后死循环在这里
- 创建于2018-11-29
-
- 阿呆 Lv7 . 资深专家 (0)
- 指针偏移到非程序空间
- 创建于2018-11-29
-
- ZERO Lv7 . 资深专家 (0)
- 发生PC指针数据异常,指到没有程序的区域。或者中断发生却没有中断入口函数,外部的电火花强电磁干扰等
- 创建于2018-11-29
-
- yangyang Lv7 . 资深专家 (0)
- 三种情况可导致跑飞:数组越界 中断程序,缺失看门狗复位等。跑飞时程序内容没有发生改变,只是程序的分段发生混乱,到时未按预期执行
- 创建于2018-11-29
-
- cherryyang Lv7 . 资深专家 (0)
- 函数有地址指针,指针无效时就会飞
- 创建于2018-11-29
-
- solomon Lv8 . 研究员 (0)
- 数组越界,中断服务程序缺失等都会导致
- 创建于2018-11-29
-
- 木鱼 Lv7 . 资深专家 (0)
- 受到干扰,程序跳到其它地方回不来,死机呗
- 创建于2018-11-28
- |
- +1 赞 0
- 收藏
平台合作
相关推荐
单片机程序总飞什么问题
单片机程序死机,跑飞了可以从以下几个方面查找原因: 1. 意外中断。是否打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断,造成死机假象。 2. 中断变量处理不妥。若定义某些会在中断中修改的全局变量,这时要注意两个问题:首先为了防止编译器优化中断变量,要在这些变量定义时前加volatile,其次在主循后再打开全局中断;否则出现造成数据乱套。 3. 地址溢出,常见错误为指针操作错误。数组下标使用循环函数中循环变量,如果循环变量没控制好则会出现数组下标越界,意外修改系统的寄存器造成死机,这种情况下如果死机说明运气好,否则后面不知道发生什么头疼的事。 4. 循环中读取中断变量前应该首先关闭全局中断,防止读到一半被中断给修改了。 5. 看门狗没有关闭。导致软件不断复位,造成死机,最好在程序复位后首先应该显式清除看门狗再关闭看门狗。 6. 堆栈溢出。尽量减少函数调用层级,减少局部变量,减少压栈的时候所需的空间。试一试把被调用少函数直接内置到调用的地方并且把占用RAM大的局部变量改成全局变量
单片机程序什么情况下会跑飞,一个机器做通断电实验7000多次发现单片机一个管脚本来输出高,变成输出低了
1.意外中断:是否打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断; 2.地址溢出:常见错误为指针操作错误 3.堆栈溢出; 4.看门狗没有关闭;
Silicon Labs的C8051F120,在什么情况下会出现单片机进不了程序,重新烧录程序后,单片机恢复正常?
Silicon Labs的C8051F120单片机Flash失效。导致Flash失效原因有很多种。请参考世强电商平台有关C8051F120单片机Flash失效分析文章。 https://www.sekorm.com/news/6290.html
在调用RL78系列单片机闪存库函数时,执行pfdl_open()函数时程序会跑飞,原因是什么?
执行pfdl_open()函数时程序会跑飞是因为闪存库函数使用的RAM、应用程序中的RAM和堆栈区发生了冲突,需要在Link文件中调整闪存使用的memory空间,避免和应用程序冲突。
为什么单片机不加复位电路,上点程序会跑飞
复位电路的目的:一是在开始时把绝大部份特殊寄存器设置到一个我们所要求的固定的值上才也正确的运行,二是让它有一个开始的起点才知从那开始,只要能做到这二点你就可不要复位电路中。因它有这功能,所以在运行中如因受干扰程序跑飞时我们就常利用这复位把它拉回到正确的运行上来
【经验】一招教你延长单片机的Flash擦写寿命
在单片机开发应用中,工程师经常会遇到需要在单片机内部Flash的某个区域保存和读取一些数据,而这些数据在应用中可能会经常变化,因而需要对Flash的数据经常更新。本文就以Silicon Labs的8位单片机EFM8SB10F8G为例,教大家如何延长单片机的Flash擦写寿命。
有没有AD采样在2M或者以上的单片机
有,进芯的8位单片机可以达到。 Advancechip(进芯电子) 8051核MCU性能特点介绍
请问一下,C8051F060单片机看门狗使用有没有例程?程序运行几个月后会出现死机,断电重启又好了
芯科8位单片机C8051F060看门狗例程在芯科编译软件安装的根目录下就有,如下图:
EFM32单片机与stm32单片机是pin对pin对换的嘛
EFM32系列单片机,是Silicon Labs提供的基于ARM-Cortex核、超低功耗MCU。关于管脚兼容情况,要视不同型号而定。具体可参考如下资料:https://www.sekorm.com/doc/62781.html 《【选型】Silicon Labs(芯科科技) EFM32 32位MCU选型指南》
8位单片机世强主推那几款
小蜜蜂,DS4835等等
请问,能否给推荐几款国产的51系列单片机?
国产51系列单片机推荐,推荐芯海:https://www.sekorm.com/doc/1653906.html、 中微:https://www.sekorm.com/doc/3691785.html
使用CS-Link烧写芯海的8位单片机,出现Modify CodeOption Fail错误,怎么解决?
如果芯海的CS-Link下载时出现Modify CodeOption Fail,需要检查硬件连接是否正常,CS-Link的版本号是否需要更新,8位单片机的加密位是否被使能。如果是单片机的加密位被使能,需要使用CSWrite烧录器重烧一下芯片,再用CSLINK连接下载,烧录器烧写芯片时,不能使能加密。
Silicon Labs的8位单片机EFM8SB系列使用什么仿真器进行仿真?
Silicon Labs的8位单片机调试接口为C2接口(包括EFM8SB系列),可以使用U-EC6调试,或者使用支持C2接口的JLINK工具。
CH532 单片机简介
CH532是一款8位数据宽度的精简指令集RISC单片机,具有53条指令,支持6MHz或12MHz的系统主频。其程序空间为2048字,支持USB设备控制器、UART异步串口等功能模块,并具备多种封装形式。芯片提供丰富的I/O接口,支持多种中断,适用于各种嵌入式应用。
沁恒 - 精简指令集RISC单片机,单片机,CH532
AT32 单片机 FLASH模拟EEPROM入门指南
本指南介绍了如何使用AT32单片机的片上FLASH模拟EEPROM功能。内容涵盖FLASH与EEPROM的异同、EEPROM数据结构、物理结构、初始化状态机、函数接口、数据直接存储模式、两种存储模式的混合使用,并通过案例展示了EEPROM读写数据和数据直接存储的实现方法。
雅特力 - 单片机,AT32F413,AT32F435,AT32F403,AT32F425,AT32F415,AT32L021,AT32F403A,AT32,AT32F421
电子商城
现货市场
服务

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>

拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。
最小起订量: 1 提交需求>