(0)STM32有十六个优先级

(一)STM32分组为:组0-4

(二)分组配置在寄存器SCB->AIRCR中:

022_STM32中断优先级分组解析-LMLPHP

(三)解析第二点

1. 组0就是4位都用来设置成响应优先级,2^4=16位都是响应优先级

2. 组1分为(2^1)两个抢占优先级,在这两个抢占优先级里面还分别有(2^3)八个响应优先级,(2^1) * (2^3) =16

3. 组1分为(2^2)四个抢占优先级,在这四个抢占优先级里面还分别有(2^2)四个响应优先级,(2^2) * (2^2) =16

4. 组1分为(2^3)八个抢占优先级,在这八个抢占优先级里面还分别有(2^1)两个响应优先级,(2^3) * (2^1) =16

5. 组1分为(2^4)十六个都是抢占优先级  (2^4) =16

(四)使用示例

1. NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级

2. 也就是说可以配置成四个抢占优先级,在这四个抢占优先级中还可以配置四个响应优先级

(五)抢占优先级和响应优先级的区别

022_STM32中断优先级分组解析-LMLPHP

022_STM32中断优先级分组解析-LMLPHP

022_STM32中断优先级分组解析-LMLPHP

05-19 15:16