ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU

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

[复制链接]
707|9
 楼主 | 2018-1-12 13:35 | 显示全部楼层 |阅读模式
多个中断嵌套使用,外部中断抢占优先级最高,其次是2个串口中断,定时器中断抢占优先级相同,响应优先级不同,程序运行几分钟就死机了,发现一一直卡在串口接收中断那里不进入串口中断,其他中断正常响应。主程序跑飞了?请问有没有大神指导一下,应该怎么做呀???
| 2018-1-12 13:51 | 显示全部楼层
串口中断没清标记位?
| 2018-1-12 14:07 | 显示全部楼层
把定时器优先级高于串口。
 楼主 | 2018-1-12 15:52 | 显示全部楼层
mintspring 发表于 2018-1-12 14:07
把定时器优先级高于串口。

定时器优先级是高于串口优先级的
 楼主 | 2018-1-12 15:52 | 显示全部楼层
mintspring 发表于 2018-1-12 14:07
把定时器优先级高于串口。

优先级依次是 外部中断,定时器,串口1,串口2
 楼主 | 2018-1-12 15:58 | 显示全部楼层
基本都是串口中断卡死了。我想知道如何在卡死的情况下复位串口?
| 2018-1-12 16:17 | 显示全部楼层
本帖最后由 香水城 于 2018-1-12 16:21 编辑

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

你现在只是一味卡死在接收中断里,其它都正常,怀疑有接收相关中断标志没清除,请检查下是否有ORE置位了。
| 2018-1-12 22:08 | 显示全部楼层
也有可能中断溢出了,进入串口中断后,把串口中断相关标志全部清除;
另外,其它中断,中断程序尽量断;
 楼主 | 2018-1-19 17:21 | 显示全部楼层
mintspring 发表于 2018-1-12 14:07
把定时器优先级高于串口。

不行,外部中断数据比较重要,是AD采集的数据!!
 楼主 | 2018-1-19 17:21 | 显示全部楼层
mmuuss586 发表于 2018-1-12 22:08
也有可能中断溢出了,进入串口中断后,把串口中断相关标志全部清除;
另外,其它中断,中断程序尽量断; ...

具体应该如何处理?
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

快速回复 返回顶部 返回列表