中断管理控制器NVIC与stm32中断使用

本文介绍了STM32微控制器中的NVIC(Nested Vector Interrupt Controller)及其特性,如可编程优先级、低延迟中断处理等。文章详细阐述了NVIC在STM32中断系统中的作用,包括中断通道数量、抢占和响应优先级的配置。此外,还讨论了STM32对比Cortex-M4内核在NVIC上的改动,如减少中断优先级位数。EXTI控制器作为STM32的扩展,负责外部中断/事件的管理和配置。文中列举了EXTI的主要特性,并给出了配置中断的步骤,包括NVIC_PriorityGroupConfig()和NVIC_Init()函数的使用,以及EXTI_Init()和SYSCFG_EXTILineConfig()函数在EXTI中断配置中的作用。
摘要由CSDN通过智能技术生成

什么是NVIC?即嵌向量中断控制器(Nested Vectored Interrupt Controller)。它是属于Cortex内核的器件,是非常强大与方便的向量中断控制器,不可屏蔽中断 (NMI)和外部中断都由它来处理,而SYSTICK不是由NVIC来控制的。

NVIC 特性
嵌套向量中断控制器 NVIC 包含以下特性:
STM32F405xx/07xx STM32F415xx/17xx 具有 82 个可屏蔽中断通道, STM32F42xxx
STM32F43xxx 具有多达 86 个可屏蔽中断通道(不包括 Cortex™-M4F 16 根中
断线)
16 个可编程优先级(stm32F4只使用了 4 位中断优先级)
低延迟异常和中断处理
电源管理控制
系统控制寄存器的实现
嵌套向量中断控制器 (NVIC) 和处理器内核接口紧密配合,可以实现低延迟的中断处理和晚
到中断的高效处理。
包括内核异常在内的所有中断均通过 NVIC 进行管理。更多关于异常和 NVIC 编程的说明,
请参考《 ARM Cortex™-M4F 技术参考手册》中的5 章:异常和第 8 章:嵌套向量中断控
制器


通过阅读《STM32xxx参考手册》中“中断与事件”一章我们可以知道ST公司生产的stm32芯片对cotex内核的嵌套向量中断控制器 NVIC 的使用进行了一些小的改动

改动一:减少了用于设置优先级的比特位。stm32只用了4个比特位来表示中断的优先级

1.中断优先级分组

Cortex-M3中有两个优先级的概念--抢占式优先级响应优先级,有人把响应优先级称作'亚优先级'或'副优先级'每个中断源都需要被指定

这两种优先级。

具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套在

低抢占式优先级的中断中。

当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到

前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个;如果他们的抢占

优先级和响应优先级都相等,则根据他们在中断表中的排位顺序决定先处理哪一个。

Cortex内核具有强大的异常响应系统,它把能够打断当前代码执行流程的事件分为异常(exception)和中断(interrupt),并把它们用一个表

管理起来,编号为0~15的称为内核异常,而16以上的则称为外部中断这个表就称为中断向量表

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值