STM32 NVIC 知识点整理

这篇博客详细介绍了STM32的NVIC(Nested Vectored Interrupt Controller)工作原理,包括中断使能、除能、挂起、解挂寄存器以及中断优先级设置。还提到了中断执行的原则,如抢占优先级和子优先级的概念,以及EXTI如何管理外部中断,阐述了中断和事件的区别,并指出在调整中断优先级时需注意中断分组设置。
摘要由CSDN通过智能技术生成

NVIC(nested vectored interrupt controller)
NVIC 是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个外设。但是各个芯片厂商在设计芯片的时候会对 Cortex-M3 内核里面的 NVIC 进行裁剪,把不需要的部分去掉,所以说 STM32的 NVIC 是 Cortex-M 3 的 NVIC 的一个子集

M3 的 NVIC 支持最多240 个 外部中断(即可屏蔽中断)和16个内核中断(M3 内核中断线),16个可编程优先等级(即每个中断有4bit 可以配置中断优先级,2^4=16)

PS: F103 只有60个可屏蔽中断,F107 有68个

NVIC_TYPE结构体如下

typedef struct
{
   
  __IO uint32_t ISER[8];                      /*!< Offset: 0x000  Interrupt Set Enable Register           */
       uint32_t RESERVED0[24];                                   
  __IO uint32_t ICER[8];                      /*!< Offset: 0x080  Interrupt Clear Enable Register         */
       uint32_t RSERVED1[24];                                    
  __IO uint32_t ISPR[8];                      /*!< Offset: 0x100  Interrupt Set Pending Register          */
       uint32_t RESERVED2[24]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值