[12]STM32-NVCI中断优先级管理

这篇博客详细介绍了STM32的NVCI中断优先级管理,包括基础知识、中断优先级分组、抢占和响应优先级的理解以及NVCI的相关函数。STM32拥有84个中断,其中68个是可屏蔽中断,通常关注STM32F103系列的60个中断。中断优先级分组通过AIRCR寄存器进行设置,抢占优先级和响应优先级的高低决定了中断处理的顺序。NVIC_Init函数用于设置单个中断的抢占和响应优先级。
摘要由CSDN通过智能技术生成

前言

这一篇博客主要讲解NVCI中断优先级分组,优先级设置。因为还没有我还没学到做中断实验,所以有些地方我自己理解得也不是很透彻,这是看了原子哥的视频用自己的话来梳理一下思路。

基础知识

STM32 有 84 个中断,包括 16 个内核中断和 68 个可屏蔽中断,具有 16 级可编程的中断优先级。

而我们常用的就是这 68 个可屏蔽中断, 但是 STM32 的 68 个可屏蔽中断,在 STM32F103 系列上面,又只有 60 个(在 107 系列才有 68 个)。因为我们开发板选择的芯片是 STM32F103 系列的所以我们就只针对 STM32F103 系列这 60 个可屏蔽中断进行介绍。
具体就是IP[0]-IP[59],每一个中断具体作用可以查看《STM32中文参考手册》9.1.2,下面放一下部分参考手册中的截图。在这里插入图片描述

NVIC中断优先级分组

STM32 将中断分为 5 个组,组 0-4该分组的设置是由 SCB->AIRCR 寄存器的 bit10-8 来定义的。具体的分配关系如表所示。
配置了AIRCR的10-8位之后,就对4-7位进行了一个分组,假设分组为1,则第7位是抢占优先级,6-4位是响应优先级(即1位抢占优先级,3位响应优先级),同理可以看出抢占优先级可以设置位0或1,响应优先级可以设置位0-7(000-111)。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值