野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11821|回复: 1

关于中断嵌套执行的问题

[复制链接]
发表于 2022-8-20 12:01:24 | 显示全部楼层 |阅读模式
我遇到了一个问题:
按照中断优先级来说,中断的执行会先比较“抢占优先级”,如果前者相同再比较“子优先级”,如果“子优先级”也相同在比较各自的“序号”。
那么如果一个中断函数执行时,该中断又被触发了,两者的优先级都是相同的,此时该如何执行呢?

我了解到的一种说法是虽然两者的优先级相同,但是还是会发生“中断的嵌套”,即前一个同优先级的中断会被后一个中断打断。

如果是这样的话,对于按照一定时间进入一次中断函数的中断一定是无法执行的了,因为该中断会被无限的嵌套下去。

但是如果在以下的使用情景中,中断嵌套还会很大的影响程序的运行吗?
即:通过IO口检测外部的上升沿,进而触发中断,而该上升沿由按键按下产生,按键按下时会产生抖动,如果不进行消抖的话,可能会导致单片机的IO口接收到很多的上升沿信号,进而产生多个中断,但是该种中断的数量是有限的,中断函数也比较简单(这里中断函数的内容即使执行多次对程序也无任何不良影响),所以此时即使产生了多个中断的嵌套,单片机应该也可以快速的将这些嵌套处理完毕,即此时可以将中断嵌套的影响忽略不计。

请问我上面的想法对吗?




回复

使用道具 举报

发表于 2022-8-21 16:16:58 | 显示全部楼层
如果抢占优先级和子优先级都相同,会再比较参考手册里面这个中断向量表的优先级
野火论坛202208211615299802..png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-6 03:34 , Processed in 0.040709 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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