聊一下NVIC_PriorityGroupConfig这个函数
时间: 2024-04-26 08:22:04 浏览: 170
NVIC_PriorityGroupConfig函数是CMSIS库中的一个函数,用于配置NVIC中断优先级分组。在ARM Cortex-M处理器中,中断源非常多,如果不加以管理和分配,会导致中断响应的混乱和不可预知的结果。因此,Cortex-M内核提供了一套完整的中断控制机制,其中包括NVIC(Nested Vectored Interrupt Controller)。
NVIC_PriorityGroupConfig函数是用来配置NVIC中断优先级分组的。在Cortex-M处理器中,中断优先级分为两个部分:抢占优先级和子优先级。抢占优先级决定了中断响应的优先级,而子优先级决定了同一抢占优先级中,不同中断之间的优先级关系。在NVIC中,中断优先级的分组方式可以由用户自行选择,根据具体应用场景和中断处理的需求进行灵活配置。
NVIC_PriorityGroupConfig函数的输入参数是一个uint32_t类型的值,该值表示中断优先级的分组方式。可以使用NVIC_PriorityGroup_0、NVIC_PriorityGroup_1、NVIC_PriorityGroup_2、NVIC_PriorityGroup_3、NVIC_PriorityGroup_4等不同的枚举值来设置中断优先级分组方式。具体的中断优先级分组方式如下:
- NVIC_PriorityGroup_0: 抢占优先级:0位,子优先级:4位。
- NVIC_PriorityGroup_1: 抢占优先级:1位,子优先级:3位。
- NVIC_PriorityGroup_2: 抢占优先级:2位,子优先级:2位。
- NVIC_PriorityGroup_3: 抢占优先级:3位,子优先级:1位。
- NVIC_PriorityGroup_4: 抢占优先级:4位,子优先级:0位。
总之,通过调用NVIC_PriorityGroupConfig函数,用户可以方便地配置NVIC中断优先级分组,以满足具体应用场景的需求。
阅读全文