打印
[经验分享]

单片机程序又跑飞?

[复制链接]
楼主: mikewalpole
手机看帖
扫描二维码
随时随地手机跟帖
61
gygp| | 2024-11-13 19:08 | 只看该作者 回帖奖励 |倒序浏览
电源稳定、晶振电路设计合理、减少外部干扰。

使用特权

评论回复
62
lihuami| | 2024-11-13 20:46 | 只看该作者
仔细检查程序的逻辑,避免出现死循环和逻辑判断错误。在编写代码时,要进行充分的测试和调试,确保程序的逻辑正确性。

使用特权

评论回复
63
fengm| | 2024-11-14 17:36 | 只看该作者
外部干扰,如电磁干扰(EMI)。
电源不稳定或噪声。

使用特权

评论回复
64
averyleigh| | 2024-11-14 20:37 | 只看该作者
使用看门狗定时器来监控程序的运行状态。如果程序在一定时间内没有喂狗(即没有重置看门狗定时器),则看门狗定时器会触发复位,使单片机重新启动。这有助于从死循环或跑飞状态中恢复。

使用特权

评论回复
65
houjiakai| | 2024-11-14 21:28 | 只看该作者
程序在函数中运行时,总是在运行到函数末尾,要跳出函数时,程序跑飞。

使用特权

评论回复
66
modesty3jonah| | 2024-11-14 22:43 | 只看该作者
设计健壮的异常处理机制,确保在发生错误时能够安全地退出或复位。

使用特权

评论回复
67
lihuami| | 2024-11-17 16:15 | 只看该作者
当指针所指向的内存空间被释放后,指针没有及时置空,再次使用该指针时就会出现悬空指针问题,导致程序出现不可预测的错误。

使用特权

评论回复
68
kmzuaz| | 2024-11-17 17:13 | 只看该作者
使用屏蔽、接地、滤波等方法减少外部干扰。

使用特权

评论回复
69
hearstnorman323| | 2024-11-17 18:15 | 只看该作者
缓冲区的大小足够大,能够容纳所有可能接收到的数据。

使用特权

评论回复
70
ulystronglll| | 2024-11-17 19:39 | 只看该作者
检查单片机硬件是否正常工作,确保晶振、电源等关键部件无故障。

使用特权

评论回复
71
gygp| | 2024-11-17 20:27 | 只看该作者
单片机程序跑飞的原因有很多,需要根据具体情况逐一排查和解决。

使用特权

评论回复
72
jtracy3| | 2024-11-17 21:12 | 只看该作者
是否打开了某个中断,但是没有响应和清除中断标志;或者在中断中修改的全局变量未加volatile修饰,导致编译器优化中断变量。

使用特权

评论回复
73
qiufengsd| | 2024-11-17 22:45 | 只看该作者
电源线上的高频干扰信号可能通过电源引脚进入单片机,干扰其正常运行。比如附近的大型电机设备启动或停止时,会产生电磁干扰,影响电源的稳定性。

使用特权

评论回复
74
mollylawrence| | 2024-11-18 09:33 | 只看该作者
在程序中加入日志记录功能,有助于事后分析问题原因。

使用特权

评论回复
75
belindagraham| | 2024-11-20 11:01 | 只看该作者
优化代码,减少中断的使用,合理分配中断优先级。

使用特权

评论回复
76
fengm| | 2024-11-20 11:52 | 只看该作者
数组越界、指针错误等内存访问问题。
程序堆栈溢出。

使用特权

评论回复
77
sdlls| | 2024-11-20 16:01 | 只看该作者
程序中打开了某个中断,但是却没有相应的中断服务程序,从而导致在中断发生后,找不到中断服务程序入口,从而导致程序跑飞。

使用特权

评论回复
78
10299823| | 2024-11-20 16:51 | 只看该作者
程序中打开了某个中断,但是却没有相应的中断服务程序,从而导致在中断发生后,找不到中断服务程序入口,从而导致程序跑飞。

使用特权

评论回复
79
mnynt121| | 2024-11-20 19:02 | 只看该作者
I/O 口配置不当或外部设备故障。
单片机硬件故障。

使用特权

评论回复
80
uptown| | 2024-11-20 19:51 | 只看该作者
中断服务程序中如果执行了过于复杂或耗时的操作,可能会导致中断嵌套层数过多,栈空间溢出,进而使程序跑飞。

使用特权

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

本版积分规则