stm32中断怎样pending

2025-02-26 00:44:39
推荐回答(2个)
回答1:

pending只是中断响应的一个临时状态,此时相关中断请求位有效,等待CPU响应中断。

回答2:

ISPR[2]:全称是:Interrupt Set-Pending Registers,是一个中断挂起控制寄存器组。每个位对应的中断和ISER是一样的。通过置1,可以将正在进行的中断挂起,而执行同级或更高级别的中断。写0是无效的。
ICPR[2]:全称是:Interrupt Clear-Pending Registers,是一个中断解挂控制寄存器组。其作用与ISPR相反,对应位也和ISER是一样的。通过设置1,可以将挂起的中断接挂。写0无效。
当高优先级的中断正在执行中,如果发生了低优先级的中断,CPU自然会将低优先级中断挂起,当高优先级中断执行完毕后,再去处理低优先级中断,这个时候需要清除挂起位,采用库函数中的一个函数去处理就可以了 比如,EXTI_ClearITPendingBit()