打印
[应用相关]

程序运行有时候就会跑飞而自动重启

[复制链接]
2307|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuww|  楼主 | 2014-10-30 12:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
功能比较复杂的程序,开启了TIM1、Tim2、TIM3、TIM4 中断以及CAN通讯的接收中断,当把所有定时器中断屏蔽的时候,测试CAN通讯完全没有问题,程序在不使用通讯的时候运行也完全没有问题,可是当进行CAN通讯而且开启各个定时器中断的时候,程序运行有时候就会跑飞而自动重启。。。。。
应该怎么解决呢?
沙发
zhanglli| | 2014-10-30 12:11 | 只看该作者
你不要吓我,我还准备开12个呢。

使用特权

评论回复
板凳
lium| | 2014-10-30 12:12 | 只看该作者
把CAN中断优先级设置低点

使用特权

评论回复
地板
guoyt| | 2014-10-30 12:13 | 只看该作者
中断多时,尽量把中断任务简短。比如仅仅置一个标志位。然后在主程序或线程中,处理消息或标志。

使用特权

评论回复
5
hanwe| | 2014-10-30 12:19 | 只看该作者
一般要不就是中断等级没有设置好造成的,要不就是中断处理程序过长,一般建议在main程序中统一调度,中断程序不要过多处理

使用特权

评论回复
6
zhuww|  楼主 | 2014-10-30 12:24 | 只看该作者
zhanglli 发表于 2014-10-30 12:11
你不要吓我,我还准备开12个呢。


额。。好多,我这里确实是这种问题,感觉就是中断的问题呀

使用特权

评论回复
7
zhanglli| | 2014-10-30 12:26 | 只看该作者
如果说中断中代码过多不会跑飞,但会死机;跑飞应该是硬件不稳定。

使用特权

评论回复
8
mmuuss586| | 2014-10-30 12:26 | 只看该作者
程序初始化哪里有问题吧,可能找不到定时器中断;

使用特权

评论回复
9
lium| | 2014-10-30 12:26 | 只看该作者

实际上,我还开了一个CAN,3个串口,一个USB;
挂了FSMC总线,都没问题。
我用407

使用特权

评论回复
10
zhuww|  楼主 | 2014-10-30 12:28 | 只看该作者

哦,那问一下,您对中断的处理,优先级的设置是什么样的呢?还有在中断中的操作,是有操作很多,还是仅仅置位,然后在主函数中进行操作呢?

使用特权

评论回复
11
zhuww|  楼主 | 2014-10-30 12:28 | 只看该作者

能不能解释一下?程序死机和跑飞具体是什么吗?一直以为死机就是跑飞。。。。。

使用特权

评论回复
12
wangpe| | 2014-10-30 12:28 | 只看该作者
中断中的变量尽量不要在主程序里改变,这样就可避免。还有中断的开关也不要在主程序频繁发生

使用特权

评论回复
13
langgq| | 2014-10-30 12:30 | 只看该作者

死机是指由于条件未满足程序进入了死循环(卡在某个地方出不来了) 跑飞是指收到外界的干扰导致程序没有按照设计的顺序执行

使用特权

评论回复
14
llia| | 2014-10-30 12:30 | 只看该作者
说说我最近的一个自动重启的例子,数组下标越界,楼主查查,还有一个异常状况是读取指针数值之前,指针未定义,有些问题,编译软件也不会报错的

使用特权

评论回复
15
yufe| | 2014-10-30 12:32 | 只看该作者

优先级都按默认设置,说白了都没设置。
中断程序:我都没几句,只接收程序。
所有任务都放中断处理。
程序大的话,可以加个操作系统。

使用特权

评论回复
16
zhuww|  楼主 | 2014-10-30 12:32 | 只看该作者

我把所有中断处理函数的开头都加上了关闭总中断,处理结束后再开启总中断,就不会出现这种问题了,不过感觉这么改不是个办法呀

使用特权

评论回复
17
guoyt| | 2014-10-30 12:34 | 只看该作者

估计你中断干的事情太多了,不关,中断响应不过来,导致及时清中断标志位。

使用特权

评论回复
18
lium| | 2014-10-30 12:35 | 只看该作者

就是你在中断里计算应用的那些变量

使用特权

评论回复
19
jxmzzr| | 2014-10-30 13:02 | 只看该作者
在中断服务程序中可以用软件来清除中断请求标志位。

使用特权

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

本版积分规则

893

主题

8252

帖子

1

粉丝