第5节 多重中断
为响应外围功能的多个中断请求,将中断级别设置寄存器(IRQ)中的中断级别设置位(L1、L0)设置为不同的中断级别可以实现多重中断。
中断处理子程序执行时,如果产生了更高中断优先级的中断请求,正在处理的当前中断将被挂起,而转去执行更高优先级别的中断处理程序。当拥有更高中断优先级的中断请求结束后,CPU返回到先前的中断处理。
如果在执行中断处理时,产生了同级别或更低中断优先级的中断请求,此时新的中断将
被挂起直至当前中断结束。
多重中断举例
比如当外部中断的优先级比定时器中断的级别高。定时器中断的中断优先级设置为2,外部中断的中断优先级设置为1。如果在执行定时器中断处理程序时产生一个外部中断,程序的处理过程将如图5-5 所示。
中断处理子程序执行时,如果产生了更高中断优先级的中断请求,正在处理的当前中断将被挂起,而转去执行更高优先级别的中断处理程序。当拥有更高中断优先级的中断请求结束后,CPU返回到先前的中断处理。
如果在执行中断处理时,产生了同级别或更低中断优先级的中断请求,此时新的中断将
被挂起直至当前中断结束。
多重中断举例
比如当外部中断的优先级比定时器中断的级别高。定时器中断的中断优先级设置为2,外部中断的中断优先级设置为1。如果在执行定时器中断处理程序时产生一个外部中断,程序的处理过程将如图5-5 所示。



