stm32学习——中断的优先级设置

本文介绍了STM32中断优先级的设置方法,包括中断的抢占式和响应式优先级,以及如何通过NVIC_PriorityGroup设置优先级分组。通过具体的初始化过程和示例,展示了如何为不同中断分配优先级。
摘要由CSDN通过智能技术生成

stm32的中断具有不同的优先级,可以使用NVIC(嵌套向量中断控制器,Nested Vectored Interrupt Controller)来控制。
一、基本原理介绍
stm32的中断优先级分主副两类(也称为抢占式优先级和响应式优先级),主优先级是抢占式的(为零表示最高),即,优先级高的中断到来时即使优先级较低的中断正在执行,也要停下来先执行优先级较高的中断。而辅优先级是非抢占式的,即,具有相同主优先级的两个中断,如果辅优先级较高的中断到来,此时有副优先级较低的中断正在执行,要等这个中断执行完了再执行后到来的这个中断。
stm32使用4为寄存器来管理中断优先级,NVIC_PriorityGroup来设置中断优先级的分组方式的,有以下几种:
NVIC_PriorityGroup_0 => 选择第0组
NVIC_PriorityGroup_1 => 选择第1组
NVIC_PriorityGroup_2 => 选择第2组
NVIC_PriorityGroup_3 => 选择第3组
NVIC_PriorityGroup_4 => 选择第4组
他们分别表示:
第0组:所有4位用于指定响应优先级(16种)
第1组:最高1位用于指定抢占式优先级,最低3位用于指定响应优先级(8种)
第2组:最高2位用于指定抢占式优先级,最低2位用于指定响应优先级(4种)
第3组:最高3位用于指定抢占式优先级,最低1位用于指定响应优先级(2种)
第4组:所有4位用于指定抢占式优先级

比如选择NVIC_Priori

  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值