FreeRTOS原理剖析:中断管理和临界区

1. 中断的基本概念
1.1 异常类型

Cortex-M处理器中异常编号为1~15为系统异常,编号为16及以上为外部中断异常,可由片上外设或者外设中断源产生。其中复位、NMI、HardFault异常的优先级固定不变,其它异常可编程。

系统异常表:
在这里插入图片描述

中断列表:
在这里插入图片描述

1.2 中断优先级分组

每个中断都有一个8位的优先级寄存器,用来配置中断的优先级。每个优先级占8位,4个相临的优先级寄存器组成1个32位的寄存器。如下:
在这里插入图片描述
其中:
在这里插入图片描述
Cortex-M处理器中有三个固定的优先级和256个可编程的优先级。Cortex-M处理器把8位分成高低两段:抢占优先级(分组优先级)和亚优先级(子优先级),通过设置NVIC中寄存器AIRCR的[10:8]中3位,可配置抢占优先级和亚优先级,有:

在这里插入图片描述
在STM32F4系列单片机中,只使用了优先级的寄存器的Bit4 ~ Bit7,Bit0 ~ Bit3没有实现,当往Bit0 ~ Bit3写入时则会忽略,读时会返回0。

对于STM32F4系列单片机,在misc.h中,有:

#define NVIC_PriorityGroup_0         ((uint32_t)0x700) /*!< 0 bits for pre-emption priority
                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值