STM32 NVIC中断优先级管理

本文介绍了STM32的中断系统,包括256个中断中的84个可用中断,重点聚焦于STM32F103系列的60个可屏蔽中断。文章详细解析了NVIC的相关寄存器,如ISER、ICER、ISPR、ICPR、IABR和IP,以及中断优先级分组和设置方法。还提到了中断分组函数NVIC_PriorityGroupConfig和中断初始化函数NVIC_Init,用于简化中断优先级管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。而我们常用的就是这68个可屏蔽中断,但是STM32的68个可屏蔽中断,在STM32F103系列上面,又只有60个(在107系列才有68个)。因为我们开发板选择的芯片是STM32F103系列的所以我们就只针对STM32F103系列这60个可屏蔽中断进行介绍。

在MDK内,与NVIC相关的寄存器,MDK为其定义了如下的结构体:

typedef struct

{

  __IO uint32_tISER[8];    

  __IO uint32_tICER[8];    

  __IO uint32_tISPR[8];    

  __IO uint32_tICPR[8];    

  __IO uint32_tIABR[8];   

  __IO uint8_t  IP[240];    

  __O  uint32_t STIR;      

} NVIC_Type; 

  &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值