您的位置 首页 嵌入式

STM32中止优先级分组

Cortex-M3的中断优先级的分组方式最多可以有有8种,因为CM3强制规定:SubPriority至少要占一个位(如果没有该强制规定,那么CM3分组方式最多

Cortex-M3的中止优先级分组方法最多能够有有8种,由于CM3强制规则:SubPriority至少要占一个位(假如没有该强制规则,那么CM3分组方法最多有9种)。

咱们知道:STM32把指定中止优先级的寄存器的MSB4位有用,共有以下5种分组方法:
第0组方法:一切4位用于呼应优先级
第1组方法:最高1位用于抢占式优先级,最低3位用于呼应优先级
第2组方法:最高2位用于抢占式优先级,最低2位用于呼应优先级
第3组方法:最高3位用于抢占式优先级,最低1位用于呼应优先级
第4组方法:一切4位用于抢占式优先级

在MISC.H里边有:

#define NVIC_PriorityGroup_0((uint32_t)0x700)
#define NVIC_PriorityGroup_1((uint32_t)0x600)
#define NVIC_PriorityGroup_2((uint32_t)0x500)
#define NVIC_PriorityGroup_3((uint32_t)0x400)
#define NVIC_PriorityGroup_4((uint32_t)0x300)

咱们发现:第4组方法是“一切4位用于抢占式优先级”,那么这是不是与”SubPriority至少要占一个位”相抵触呢?

答案:当然不抵触了!由于尽管STM32的”优先级装备寄存器”没有运用bit3、bit2、bit1、bit0,可是却答应从它们中分组(分组方位由应用程序中止及复位操控寄存器(AIRCR)的[10:8]决议)。

=========================

第0组选用的分组方法是

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

第1组选用的分组方法是

bit7bit6 bit5 bit4 bit3 bit2 bit1 bit0

第2组选用的分组方法是

bit7 bit6bit5 bit4 bit3 bit2 bit1 bit0

第3组选用的分组方法是

bit7 bit6 bit5bit4 bit3 bit2 bit1 bit0

第4组选用的分组方法是

bit7 bit6 bit5 bit4bit3 bit2 bit1 bit0

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/256521.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部