CM3里面有很多中断,有更高的优先级层数。但是stm32f103被阉割了好多。
CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。
STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。
STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。
STM32F103系列上面,又只有60个可屏蔽中断(在107系列才有68个)
中断管理方法
- 先分组。
在寄存器SCB->AIRCR中。
库函数的话再misc中。
有五个组别。
IP bit[7:4]有四位是恒定的,不过你选的是哪一个组别,都有24种区别。16刚好对应上面16级可编程的中断优先级。
分组函数代码
在misc文件里
void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);
<