[应用相关] 单片机跑飞的原因

[复制链接]
 楼主| AdaMaYun 发表于 2023-12-31 20:18 | 显示全部楼层 |阅读模式
单片机跑飞的原因,中断处理没处理好,清的标志位可能不是本中断的标志,陷入中断中跳不出来。
tpgf 发表于 2024-1-4 12:21 | 显示全部楼层
当单片机外部环境干扰比较厉害的时候也会导致单片机跑飞
nawu 发表于 2024-1-4 13:48 | 显示全部楼层
中断标志位需要手动消除吗
gwsan 发表于 2024-1-4 14:19 | 显示全部楼层
单片机跑飞的原因太多了  有硬件的原因也有软件的原因
mollylawrence 发表于 2024-1-4 16:41 | 显示全部楼层
单片机的运行需要稳定的电源电压,如果电源电压波动过大,可能会导致单片机运行异常。
10299823 发表于 2024-1-4 16:54 | 显示全部楼层
程序错误              
tfqi 发表于 2024-1-4 21:39 | 显示全部楼层
有些中断标志位并不需要人工手动清除
zljiu 发表于 2024-1-4 22:12 | 显示全部楼层
时钟不起振的时候  有时候会陷入死循环
aoyi 发表于 2024-1-4 22:44 | 显示全部楼层
还有一种就是看门狗喂狗不对  导致程序复位
lzbf 发表于 2024-1-5 10:38 | 显示全部楼层
常见错误为指针操作错误,如果循环变量没控制好则会出现数组下标越界,意外修改系统的寄存器造成死机。
pixhw 发表于 2024-1-5 16:38 | 显示全部楼层
时钟信号不稳定或配置错误可能导致程序执行时序混乱。
ingramward 发表于 2024-1-5 16:59 | 显示全部楼层
如果晶振电路设计有问题,可能导致温度变化后,晶振失振
yorkbarney 发表于 2024-1-5 17:11 | 显示全部楼层
使用while(x);等待电平变化,正常情况下x都会变成0,如果死循环可能会导致程序无法正常执行。
usysm 发表于 2024-1-5 17:33 | 显示全部楼层
程序逻辑错误              
mmbs 发表于 2024-1-5 19:20 | 显示全部楼层
中断变量处理不妥,如定义某些会在中断中修改的全局变量,这时要注意两个问题:首先为了防止编译器优化中断变量,要在这些变量定义时前加volatile,其次在主循环中读取中断变量前应该首先关闭全局中断,防止读到一半被中断给修改了,读完之后再打开全局中断;否则出现造成数据乱套
fengm 发表于 2024-1-5 20:47 | 显示全部楼层
编译器设置错误或代码中存在编译错误,可能导致程序无法正确执行
hearstnorman323 发表于 2024-1-5 21:15 | 显示全部楼层
数组越界              
uptown 发表于 2024-1-6 17:15 | 显示全部楼层
多任务环境下,任务间资源竞争处理不当可能导致系统崩溃。
dspmana 发表于 2024-1-6 17:26 | 显示全部楼层
强弱电线缆混杂在一起很容易造成单片机跑飞。
juliestephen 发表于 2024-1-6 17:40 | 显示全部楼层
有的单片机即使没使用看门狗开机时也有可能意外自动开启了最小周期的看门狗,导致软件不断复位,造成死机。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

299

主题

2492

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部

299

主题

2492

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部