所以考虑到全局中断被禁用,现在定时器或任何其他可屏蔽中断来了,这不会被服务。但它是否设置了各自的标志?
当我重新启用全局中断时,它会在以后得到服务吗?

我的意思是问,在禁用全局中断时,中断位是否从 0 设置为 1?

或者这种架构是否特定于某些架构在全局中断禁用时保持中断状态并在重新启用时为它们提供服务,而某些架构只是错过了它们!

最佳答案

这在某种程度上是特定于 MCU 的,但通常全局中断屏蔽只是防止中断被执行。全局中断屏蔽位于 CPU 内核中(通常在条件码寄存器内部),而中断源标志寄存器和中断使能寄存器位于硬件外设中。

您有一个硬件标志寄存器,它独立于硬件中断启用寄存器设置其标志,它告诉标志寄存器中的哪些标志应该产生中断。而中断使能寄存器又独立于全局中断屏蔽。

因此,产生中断的硬件外设仍然会设置触发中断的标志,无论该标志是否会触发中断。通常,相同的标志可用于轮询硬件,而不是使用中断。所以如果中断被禁用,它需要工作。

关于embedded - 当全局中断被禁用时,中断是否保持其状态?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35859473/

10-11 22:05
查看更多