打印
[STM32F4]

多中断嵌套程序死机

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

使用特权

评论回复
沙发
zhanghqi| | 2021-7-3 09:41 | 只看该作者
串口中断没清标记位?

使用特权

评论回复
板凳
jlyuan| | 2021-7-3 09:43 | 只看该作者
把定时器优先级高于串口。

使用特权

评论回复
地板
songqian17|  楼主 | 2021-7-3 09:46 | 只看该作者
定时器优先级是高于串口优先级的

使用特权

评论回复
5
pengf| | 2021-7-3 09:47 | 只看该作者
优先级依次是 外部中断,定时器,串口1,串口2

使用特权

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

使用特权

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

使用特权

评论回复
8
zwll| | 2021-7-3 09:53 | 只看该作者

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

使用特权

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

使用特权

评论回复
10
juventus9554| | 2021-7-3 10:00 | 只看该作者

另外,其它中断,中断程序尽量断;

使用特权

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

使用特权

评论回复
12
songqian17|  楼主 | 2021-7-3 10:05 | 只看该作者
具体应该如何处理?

使用特权

评论回复
13
llljh| | 2021-7-3 10:06 | 只看该作者
使用默认的优先级就行啊

使用特权

评论回复
14
pengf| | 2021-7-3 10:08 | 只看该作者
是不是在哪里死循环了

使用特权

评论回复
15
supernan| | 2021-7-3 10:10 | 只看该作者
有while循环吗

使用特权

评论回复
16
jiajs| | 2021-7-3 10:12 | 只看该作者
应该不会跑飞

使用特权

评论回复
17
songqian17|  楼主 | 2021-7-3 10:15 | 只看该作者
唉,还是没有什么结果,算了,多谢大家啦

使用特权

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

本版积分规则

463

主题

5749

帖子

1

粉丝