Cortex M3内核支持256个中断,其中包括16个内核中断和240个外部中断,且具有256级的可编程中断设置,而STM32只用了其中一部分。
STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程中断优先级。而我所使用的103系列只有60个可屏蔽中断。
优先级的判断
分抢占优先级和响应优先级 高抢占优先级可以打断低抢占优先级的中断,从而实现中断嵌套。若两个中断的抢占优先级相同,不可发生嵌套,其中响应优先级高的先执行,若两中断无论是抢占优先级还是响应优先级数值都相等,中断控制器将根据中断向量表中的位置来觉得执行顺序
在中断优先级控制寄存器中,每个中断分配8个位,但STM32进用了其中的高4为来保存中断设置,若高3为是抢占优先级,低1为为响应优先级,数值越小代表优先级越高】
|