打印
[经验分享]

单片机程序跑飞的原因

[复制链接]
楼主: vivilyly
手机看帖
扫描二维码
随时随地手机跟帖
21
对关键信号线加磁珠、TVS 二极管或屏蔽罩。

使用特权

评论回复
22
jkl21| | 2025-4-10 17:13 | 只看该作者
复位电路元件选择错误或布局不合理。

使用特权

评论回复
23
abotomson| | 2025-4-10 18:14 | 只看该作者
芯片引脚受静电冲击导致内部逻辑错误。

使用特权

评论回复
24
pixhw| | 2025-4-10 18:50 | 只看该作者
电源不稳定可能导致程序计数器(PC)值被错误修改,引发程序跑飞。

使用特权

评论回复
25
sdlls| | 2025-4-10 20:54 | 只看该作者
递归调用过深或局部变量占用过多栈空间。

使用特权

评论回复
26
nomomy| | 2025-4-10 21:20 | 只看该作者
意外中断未正确处理              

使用特权

评论回复
27
mattlincoln| | 2025-4-10 21:49 | 只看该作者
采取屏蔽、接地等措施,减少电磁干扰和静电影响

使用特权

评论回复
28
dspmana| | 2025-4-10 22:21 | 只看该作者
打开了某个中断,但没有响应和清除中断标志,导致程序一直进入中断,造成死机假象。

使用特权

评论回复
29
ulystronglll| | 2025-4-10 22:58 | 只看该作者
变量值超出其定义的范围,导致数据错误。

使用特权

评论回复
30
10299823| | 2025-4-12 20:17 | 只看该作者
在长时间运行的循环中忘记喂狗,看门狗超时复位。

使用特权

评论回复
31
gygp| | 2025-4-12 22:15 | 只看该作者
没有使用看门狗,但看门狗意外开启,导致程序频繁复位。

使用特权

评论回复
32
modesty3jonah| | 2025-4-12 22:34 | 只看该作者
无限递归调用函数,导致堆栈空间被耗尽。

使用特权

评论回复
33
everyrobin| | 2025-4-12 22:59 | 只看该作者
单片机周围存在强电磁场,如附近的电机、高频通信设备等产生的电磁干扰,可能通过空间耦合或传导耦合进入单片机系统,影响程序计数器的正常工作,导致程序跑飞。

使用特权

评论回复
34
10299823| | 2025-4-13 10:53 | 只看该作者
增加保护电路,防止静电干扰。              

使用特权

评论回复
35
adolphcocker| | 2025-4-13 11:15 | 只看该作者
电压波动、电源噪声等可能导致单片机复位或程序执行异常。

使用特权

评论回复
36
lzbf| | 2025-4-13 12:48 | 只看该作者
变量初始值不确定,导致逻辑错误。

使用特权

评论回复
37
pl202| | 2025-4-13 13:16 | 只看该作者
数组元素个数小于实际使用的个数,导致越界访问。

使用特权

评论回复
38
everyrobin| | 2025-4-13 13:45 | 只看该作者
中断服务程序编写不当,如中断服务程序过长、中断嵌套处理不当等,会影响单片机的正常运行,导致程序跑飞。

使用特权

评论回复
39
chenci2013| | 2025-4-13 14:36 | 只看该作者
电路板布局布线不当,如高速信号与低速信号、模拟信号与数字信号之间的走线不合理,可能造成信号串扰;去耦电容设计不合理,无法有效滤除电源噪声,都会影响单片机的稳定工作。

使用特权

评论回复
40
mollylawrence| | 2025-4-13 14:59 | 只看该作者
晶振损坏或电路设计不当,导致时钟信号异常

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则