打印
[STM32F4]

多中断嵌套程序死机

[复制链接]
2124|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
feiyang0725|  楼主 | 2018-1-12 13:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
多个中断嵌套使用,外部中断抢占优先级最高,其次是2个串口中断,定时器中断抢占优先级相同,响应优先级不同,程序运行几分钟就死机了,发现一一直卡在串口接收中断那里不进入串口中断,其他中断正常响应。主程序跑飞了?请问有没有大神指导一下,应该怎么做呀???
沙发
fengfeng的恒| | 2018-1-12 13:51 | 只看该作者
串口中断没清标记位?

使用特权

评论回复
板凳
mintspring| | 2018-1-12 14:07 | 只看该作者
把定时器优先级高于串口。

使用特权

评论回复
地板
feiyang0725|  楼主 | 2018-1-12 15:52 | 只看该作者
mintspring 发表于 2018-1-12 14:07
把定时器优先级高于串口。

定时器优先级是高于串口优先级的

使用特权

评论回复
5
feiyang0725|  楼主 | 2018-1-12 15:52 | 只看该作者
mintspring 发表于 2018-1-12 14:07
把定时器优先级高于串口。

优先级依次是 外部中断,定时器,串口1,串口2

使用特权

评论回复
6
feiyang0725|  楼主 | 2018-1-12 15:58 | 只看该作者
基本都是串口中断卡死了。我想知道如何在卡死的情况下复位串口?

使用特权

评论回复
7
香水城| | 2018-1-12 16:17 | 只看该作者
本帖最后由 香水城 于 2018-1-12 16:21 编辑

中断优先级设置不合适会导致运行不符合你预期,个别时候可能发生死锁。

你现在只是一味卡死在接收中断里,其它都正常,怀疑有接收相关中断标志没清除,请检查下是否有ORE置位了。

使用特权

评论回复
8
mmuuss586| | 2018-1-12 22:08 | 只看该作者
也有可能中断溢出了,进入串口中断后,把串口中断相关标志全部清除;
另外,其它中断,中断程序尽量断;

使用特权

评论回复
9
feiyang0725|  楼主 | 2018-1-19 17:21 | 只看该作者
mintspring 发表于 2018-1-12 14:07
把定时器优先级高于串口。

不行,外部中断数据比较重要,是AD采集的数据!!

使用特权

评论回复
10
feiyang0725|  楼主 | 2018-1-19 17:21 | 只看该作者
mmuuss586 发表于 2018-1-12 22:08
也有可能中断溢出了,进入串口中断后,把串口中断相关标志全部清除;
另外,其它中断,中断程序尽量断; ...

具体应该如何处理?

使用特权

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

本版积分规则

31

主题

124

帖子

1

粉丝