什么是中断
STM32异常和中断
STM32的异常一览表
STM32的中断表一览
中断的优先级
数值越小,优先级越高
中断的优先级分组
帮助理解:对于组0,抢占优先级为0,表示他没有抢占优先级,4个bit全部用来表示子优先级。对于组1,抢占优先级为0-1,用1个bit表示抢占优先级,其余3个bit表示子优先级…
(1)通过优先级分组,可以管理中断的响应顺序
(2)只有抢占优先级才由抢占中断权限,发生中断嵌套,打断就发生中断嵌套,没有能力打断,那就被挂起
假如事件A抢占优先级为0,B的抢占优先级为10,在B执行过程中,A发出中断请求,则会抢过B中断的使用权,等A执行完毕再继续执行B(ps:如果A并不能打断事件B,A就会被挂起)
(3)如果中断抢占优先级相同,不发生抢占
(4)如果多个挂起的中断具有相同的抢占优先级,则子优先级高的先行,如果子优先级相同,则IRQ(通常指外部中断请求)编号小的先行(下图IRQ来源例如:stm32f103xb.h)
抢占优先级>子优先级>IRQ编号
(5)可编程的优先级,通过嵌套向量中断控制器(NVIC)实现