发新帖我要提问
12
返回列表
打印

一般是什么原因造成程序跑飞

[复制链接]
楼主: guoyt
手机看帖
扫描二维码
随时随地手机跟帖
21
fentianyou| | 2019-10-2 20:58 | 只看该作者 回帖奖励 |倒序浏览
有的单片机即使没使用看门狗开机时也有可能意外自动开启了最小周期的看门狗,导致软件不断复位

使用特权

评论回复
22
xiaoyaodz| | 2019-10-2 20:58 | 只看该作者
对于容量小的单片机,尽量减少函数调用层级,减少局部变量  

使用特权

评论回复
23
febgxu| | 2019-10-2 20:58 | 只看该作者
把你的被调用少函数直接内置到调用的地方并且把占用RAM大的局部变量改成全局变量  

使用特权

评论回复
24
sdlls| | 2019-10-2 20:59 | 只看该作者
是否打开了某个中断   

使用特权

评论回复
25
pixhw| | 2019-10-2 20:59 | 只看该作者
可能PC指针指向一个不确定的或者根本就没有存放用户代码的程序存贮空间  

使用特权

评论回复
26
febgxu| | 2019-10-2 20:59 | 只看该作者
最常见的是堆栈溢出, 你用操作系统没?   

使用特权

评论回复
27
kkzz| | 2019-10-2 20:59 | 只看该作者
程序中打开了某个中断,但是却没有相应的中断服务程序,从而导致在中断发生后,找不到中断服务程序入口,从而导致程序跑飞

使用特权

评论回复
28
xiaoyaodz| | 2019-10-2 20:59 | 只看该作者
减少压栈的时候所需的空间。  

使用特权

评论回复
29
hudi008| | 2019-10-2 20:59 | 只看该作者
导致看门狗复位,使程序直接跳到复位位置。

使用特权

评论回复
30
fentianyou| | 2019-10-2 20:59 | 只看该作者
最好在程序复位后首先应该显式清除看门狗再关闭看门狗。

使用特权

评论回复
31
lzmm| | 2019-10-2 20:59 | 只看该作者
中断变量处理不妥。     

使用特权

评论回复
32
selongli| | 2019-10-2 20:59 | 只看该作者
无条件的死循环?      

使用特权

评论回复
33
minzisc| | 2019-10-2 20:59 | 只看该作者
数组下标使用循环函数中循环变量  

使用特权

评论回复
34
pixhw| | 2019-10-2 20:59 | 只看该作者
PC指针根本无法恢复到用户代码空间之内,程序跑飞  

使用特权

评论回复
35
sdlls| | 2019-10-2 20:59 | 只看该作者
不一定是 程序 跑飞,单片机运行程序 本身 会跳来跳去的  

使用特权

评论回复
36
coshi| | 2019-10-13 11:59 | 只看该作者
最大的原因就是代码问题

使用特权

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

本版积分规则