stm32f10x中断分组 问题

Posted 旭日初扬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32f10x中断分组 问题相关的知识,希望对你有一定的参考价值。

一、可设置的中断分组

//  中断分组
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);


#define NVIC_PriorityGroup_0         ((uint32_t)0x700) /*!< 0 bits for pre-emption priority
                                                            4 bits for subpriority */
#define NVIC_PriorityGroup_1         ((uint32_t)0x600) /*!< 1 bits for pre-emption priority
                                                            3 bits for subpriority */
#define NVIC_PriorityGroup_2         ((uint32_t)0x500) /*!< 2 bits for pre-emption priority
                                                            2 bits for subpriority */
#define NVIC_PriorityGroup_3         ((uint32_t)0x400) /*!< 3 bits for pre-emption priority
                                                            1 bits for subpriority */
#define NVIC_PriorityGroup_4         ((uint32_t)0x300) /*!< 4 bits for pre-emption priority
                                                            0 bits for subpriority */

#define IS_NVIC_PRIORITY_GROUP(GROUP) (((GROUP) == NVIC_PriorityGroup_0) || \\
                                       ((GROUP) == NVIC_PriorityGroup_1) || \\
                                       ((GROUP) == NVIC_PriorityGroup_2) || \\
                                       ((GROUP) == NVIC_PriorityGroup_3) || \\
                                       ((GROUP) == NVIC_PriorityGroup_4))

中断分组共有五级可选  0~4

中断分组0:主优先级(抢占式优先级为0)    响应式优先级:0~15    最高的优先级分组设置

个人理解:抢占式优先级分为1组(2^0),内含16(2^4)个响应式优先级

中断分组1:主优先级0~1(2^1)    抢占式优先级0~7(2^3)

抢占式优先级分为2组,每组含8个响应式优先级。

 

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);    // 2^2    几次方窃以为几级分组

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//  抢占优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority =0;      //  响应式优先级



NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//  抢占优先级 
NVIC_InitStructure.NVIC_IRQChannelSubPriority =1;      //  响应式优先级




NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//  抢占优先级 
NVIC_InitStructure.NVIC_IRQChannelSubPriority =2;      //  响应式优先级



NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//  抢占优先级 
NVIC_InitStructure.NVIC_IRQChannelSubPriority =3;      //  响应式优先级
在抢占式优先级相同的情况下,高响应优先级的中断优先被响应。 抢占式优先级数值越小,优先级越高

以上是关于stm32f10x中断分组 问题的主要内容,如果未能解决你的问题,请参考以下文章

stm32f10x 中断分组

stm32f10x 中断分组

stm32f10x串口通信的写法

stm32f10x串口通信的写法

stm32f10x串口通信的写法

STM32F10x 串口使用DMA