打印
[STM32F4]

多中断嵌套程序死机

[复制链接]
487|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
songqian17|  楼主 | 2019-7-20 12:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
多个中断嵌套使用,外部中断抢占优先级最高,其次是2个串口中断,定时器中断抢占优先级相同,响应优先级不同,程序运行几分钟就死机了,发现一一直卡在串口接收中断那里不进入串口中断,其他中断正常响应。主程序跑飞了?

使用特权

评论回复
沙发
wenfen| | 2019-7-20 12:58 | 只看该作者
串口中断没清标记位?

使用特权

评论回复
板凳
tian111| | 2019-7-20 13:01 | 只看该作者

把定时器优先级高于串口。

使用特权

评论回复
地板
songqian17|  楼主 | 2019-7-20 13:04 | 只看该作者
定时器优先级是高于串口优先级的

使用特权

评论回复
5
songqian17|  楼主 | 2019-7-20 13:52 | 只看该作者
优先级依次是 外部中断,定时器,串口1,串口2

使用特权

评论回复
6
songqian17|  楼主 | 2019-7-20 13:55 | 只看该作者
基本都是串口中断卡死了。我想知道如何在卡死的情况下复位串口?

使用特权

评论回复
7
chenho| | 2019-7-20 13:59 | 只看该作者
中断优先级设置不合适会导致运行不符合你预期,个别时候可能发生死锁。

使用特权

评论回复
8
zwll| | 2019-7-20 14:01 | 只看该作者
你现在只是一味卡死在接收中断里,其它都正常,怀疑有接收相关中断标志没清除,请检查下是否有ORE置位了。

使用特权

评论回复
9
chuxh| | 2019-7-20 14:04 | 只看该作者
也有可能中断溢出了,进入串口中断后,把串口中断相关标志全部清除;

使用特权

评论回复
10
juventus9554| | 2019-7-20 14:11 | 只看该作者
另外,其它中断,中断程序尽量断;

使用特权

评论回复
11
songqian17|  楼主 | 2019-7-20 14:15 | 只看该作者
不行,外部中断数据比较重要,是AD采集的数据!!

使用特权

评论回复
12
songqian17|  楼主 | 2019-7-20 14:18 | 只看该作者
具体应该如何处理?

使用特权

评论回复
13
songqian17|  楼主 | 2019-7-20 14:21 | 只看该作者

唉,还是没有什么结果,算了,先结贴吧,多谢大家啦

使用特权

评论回复
14
wakayi| | 2019-8-9 12:13 | 只看该作者
使用默认的优先级就行啊

使用特权

评论回复
15
wowu| | 2019-8-9 12:50 | 只看该作者
是不是在哪里死循环了

使用特权

评论回复
16
xiaoqizi| | 2019-8-9 12:55 | 只看该作者
有while循环吗

使用特权

评论回复
17
木木guainv| | 2019-8-9 12:57 | 只看该作者
应该不会跑飞

使用特权

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

本版积分规则

463

主题

5749

帖子

1

粉丝