一、中断管理方法
首先,对STM32中断进行分组,可以分成0~4组。同时,对每个中断设置一个抢占优先级和一个响应优先级。
分组配置是在寄存器SCB->AIRCR中配置:
二、抢占优先级&响应优先级区别
1、高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。
2、抢占优先级相同的中断,高响应优先级不可以打断低响应优先级的中断。
3、抢占优先级相同的中断,当两个中断同时发生的情况下,那个响应优先级高,哪个先执行。
4、如果两个中断的抢占优先级和响应优先级都是一样的话,则看哪个中断先发生就先执行。
注:一般情况下,系统代码执行过程中,只设置一次中断优先级分组,比如分组2,设置好分组之后一般不会再改变分组。随意改变分组会导致中断管理混乱,程序出现意想不到的执行结果。