他说的是4位,我一开始理解的是0123四个数。这样一看就理解了。3位就是可以2的三次方,也就是8。而响应优先级一位,就是2的一次方。2*8=16,所以就是16。 这个寄存器好像在corem3内核里边,她外边没咋写。所以不用管了,知道咋用就行了
#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 */这个是他的定义,一眼可以看出,跟上边对应的。011就是3,100就是4