因此,考虑到全局中断被禁用,现在有一个定时器或任何其他可屏蔽中断,这不会被服务。但它是否设置了各自的旗帜? 当我重新启用全局中断时,它会被提供服务吗?
我的意思是要求全局中断被禁用时,中断位是否从0设置为1?
或者这个架构是特定的,在某些架构中,在全局中断禁用时保持中断状态,并在重新启用时为它们提供服务,而某些架构只是错过了它们!
答案 0 :(得分:2)
这在一定程度上取决于MCU,但通常全局中断屏蔽只会阻止中断执行。全局中断屏蔽位于CPU内核中(通常位于条件代码寄存器中),而中断源标志寄存器和中断使能寄存器位于硬件外设中。
你有一个硬件标志寄存器,它独立于硬件中断使能寄存器设置其标志,它告诉标志寄存器中应该产生中断的标志。中断使能寄存器又与全局中断屏蔽无关。
因此,无论该标志是否触发中断,产生中断的硬件外设仍将设置触发中断的标志。通常,可以使用相同的标志来轮询硬件,而不是使用中断。因此,如果禁用中断,它需要工作。