[STM32F4] 多中断嵌套程序死机

[复制链接]
1527|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 | 显示全部楼层
定时器优先级是高于串口优先级的
pengf 发表于 2021-7-3 09:47 | 显示全部楼层
优先级依次是 外部中断,定时器,串口1,串口2
 楼主| songqian17 发表于 2021-7-3 09:49 | 显示全部楼层
基本都是串口中断卡死了。我想知道如何在卡死的情况下复位串口?
wyjie 发表于 2021-7-3 09:51 | 显示全部楼层
中断优先级设置不合适会导致运行不符合你预期,个别时候可能发生死锁。
zwll 发表于 2021-7-3 09:53 | 显示全部楼层

你现在只是一味卡死在接收中断里,其它都正常,怀疑有接收相关中断标志没清除,请检查下是否有ORE置位了。
chuxh 发表于 2021-7-3 09:55 | 显示全部楼层
也有可能中断溢出了,进入串口中断后,把串口中断相关标志全部清除;
juventus9554 发表于 2021-7-3 10:00 | 显示全部楼层

另外,其它中断,中断程序尽量断;
 楼主| songqian17 发表于 2021-7-3 10:03 | 显示全部楼层
不行,外部中断数据比较重要,是AD采集的数据!!
 楼主| songqian17 发表于 2021-7-3 10:05 | 显示全部楼层
具体应该如何处理?
llljh 发表于 2021-7-3 10:06 | 显示全部楼层
使用默认的优先级就行啊
pengf 发表于 2021-7-3 10:08 | 显示全部楼层
是不是在哪里死循环了
supernan 发表于 2021-7-3 10:10 | 显示全部楼层
有while循环吗
jiajs 发表于 2021-7-3 10:12 | 显示全部楼层
应该不会跑飞
 楼主| songqian17 发表于 2021-7-3 10:15 | 显示全部楼层
唉,还是没有什么结果,算了,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

463

主题

5749

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部