关于STM32中NVIC中断优先级分组

STM32中NVIC中断优先级分组共有5组分配关系,具体分组情况如下图所示。

若两组中断同时请求,先比较抢占优先级大小,数字小者优先级高,再比较响应优先级。

    在我们工程中,需先设置NVIC中断优先级分组(注意每一个工程中断优先级分组仅分一次,尽量不要更改),然后在NVIC_Init()中设置抢占优先级和响应优先级(响应优先级也称“子优先级”)。上表中“分配结果”中的“位”是我们可以设置的优先级的数目,例如设置 优先级分组为3,按分配结果来看我们可以设置抢占优先级的数字为2³=8,即可以设置0、1、2、3、4、5、6、7;我们可以设置响应优先级的数字为2¹=2,即可以设置0、1。也就是我们NVIC_Init()中的      NVIC_InitStruct_EXTI.NVIC_IRQChannelPreemptionPriority =;//设置抢占优先级
NVIC_InitStruct_EXTI.NVIC_IRQChannelSubPriority =;//设置响应优先级

注:中断优先级分组,NVIC_PriorityGroupConfig(),在misc.h里.

在需要多个中断时,设置好优先级,对于程序有着至关重要的作用。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值