发新帖我要提问
123
返回列表
打印
[技术问答]

单片机程序又跑飞?

[复制链接]
楼主: uptown
手机看帖
扫描二维码
随时随地手机跟帖
41
mattlincoln| | 2025-1-20 12:04 | 只看该作者 回帖奖励 |倒序浏览
程序中打开了某个中断,但是却没有相应的中断服务程序,从而导致在中断发生后,找不到中断服务程序入口,从而导致程序跑飞。

使用特权

评论回复
42
bestwell| | 2025-1-20 13:36 | 只看该作者
程序中使用了看门狗,但是没有及时“喂狗”,从而导致看门狗复位,使程序直接跳到复位位置。

使用特权

评论回复
43
10299823| | 2025-1-20 14:08 | 只看该作者
外界电磁干扰可能会导致单片机内部状态混乱,从而引发程序跑飞。

使用特权

评论回复
44
noDevice| | 2025-1-20 14:27 | 只看该作者
小心处理指针,以避免通配符指针和取消引用未初始化的指针。

使用特权

评论回复
45
kmzuaz| | 2025-1-20 15:02 | 只看该作者
如果变量没有被初始化,它的值是不确定的。在程序中使用未初始化的变量进行计算或者判断,可能会导致程序出现意外的行为,甚至跑飞。

使用特权

评论回复
46
robertesth| | 2025-1-20 19:35 | 只看该作者
使用稳压电源和滤波电容,确保电源稳定。

使用特权

评论回复
47
nowboy| | 2025-1-21 13:04 | 只看该作者
程序中有一个无条件的无限循环

使用特权

评论回复
48
bestwell| | 2025-1-21 17:28 | 只看该作者
接收的数据超过缓冲区长度,或者数组操作时下标溢出,都可能导致数据异常。

使用特权

评论回复
49
lihuami| | 2025-1-21 18:21 | 只看该作者
访问了不该访问的内存              

使用特权

评论回复
50
tabmone| | 2025-1-21 18:45 | 只看该作者
单片机及其外围电路有足够的接地和去耦措施,使用屏蔽电缆,减少高频干扰。

使用特权

评论回复
51
mattlincoln| | 2025-1-21 19:29 | 只看该作者
有些单片机在进入中断服务程序后,需要手动清除中断标志位。如果没有正确清除中断标志位,当程序从中断服务程序返回后,可能会立即再次进入中断,导致程序反复执行中断服务程序,最终跑飞。

使用特权

评论回复
52
youtome| | 2025-1-21 20:14 | 只看该作者
访问未初始化的指针、数组越界或者错误的内存地址,都可能导致程序跑飞。

使用特权

评论回复
53
yorkbarney| | 2025-1-21 20:53 | 只看该作者
在电源电路中添加滤波电容,如在电源引脚附近放置大容量的电解电容(如 10 - 100μF)和小容量的陶瓷电容(如 0.1μF)并联,以减少电源纹波。同时,选择性能稳定的电源芯片,并合理设计电源电路的布线,减少线路阻抗,确保单片机的供电电压稳定在规定范围内。

使用特权

评论回复
54
saservice| | 2025-1-21 22:10 | 只看该作者
对代码进行彻底的审查,查找可能的逻辑错误。
使用静态代码分析工具来检测潜在的问题。

使用特权

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

本版积分规则