登录/注册

STM32NVIC模式的含义

STM32NVIC模式的含义

更多

STM32 中的 NVIC 模式并不是指一个单一的、可切换的“模式”,而是指 嵌套向量中断控制器 的工作机制、特性和配置方式。它定义了 STM32(基于 ARM Cortex-M 内核)如何高效地管理和响应中断。

理解 NVIC 的关键在于它的核心特性,这些特性共同构成了其“工作模式”:

  1. 嵌套 (Nested):

    • 这是 NVIC 最核心的特性之一。它允许高优先级的中断抢占(打断)正在执行的低优先级中断
    • 高优先级中断服务程序执行完成后,CPU 会自动返回到被它打断的低优先级中断服务程序继续执行。被打断的低优先级中断执行完成后,再返回到主程序(或更低优先级中断)。
    • 优势: 极大地提高了系统的实时性,确保最关键的事件能得到最及时的响应。
  2. 向量化 (Vectored):

    • 每个中断源(如定时器、串口、ADC、外部引脚等)都有一个唯一的中断向量(入口地址)
    • 当某个中断被触发并被 CPU 响应时,硬件会自动跳转到该中断对应的向量地址去执行其特定的中断服务程序。
    • 优势: 省去了软件查询中断源的步骤,显著加快了中断响应速度。CPU 直接“知道”该执行哪个服务程序。
  3. 优先级驱动 (Priority-Driven):

    • 每个中断源都可以被赋予一个可配置的优先级。优先级决定了:
      • 抢占 (Preemption): 高优先级中断能否打断正在执行的低优先级中断。
      • 响应顺序: 当多个中断同时挂起时,哪个中断会被优先响应。
    • 优先级分组 (Priority Grouping): NVIC 允许你将优先级位(通常是 4 位,提供 0-15 共 16 级)划分为 抢占优先级 (Preemption Priority)子优先级 (Subpriority) 两部分。这是配置 NVIC 行为的关键:
      • 抢占优先级: 决定中断能否相互嵌套。只有抢占优先级更高的中断才能打断当前正在执行的中断。抢占优先级相同的两个中断不能相互嵌套。
      • 子优先级: 当多个抢占优先级相同的中断同时挂起时,子优先级更高的会优先被响应。子优先级不能用于中断嵌套,只能决定同级中断内部的响应顺序。
      • 分组的意义: 通过配置优先级分组寄存器,你可以决定多少位用于抢占优先级,多少位用于子优先级(例如:4 位全做抢占优先级;或 3 位抢占+1 位子优先级;或 2 位抢占+2 位子优先级等)。这让你能在系统设计时灵活权衡嵌套深度和中断排序的精细度。

总结 NVIC “模式”的含义:

STM32 的 NVIC 模式指的是其内置中断控制器(NVIC)按照 嵌套、向量化、基于可配置优先级(包含抢占优先级和子优先级分组) 的机制来高效管理所有中断请求的工作方式。它不是指一个可以切换的单一状态,而是描述了 NVIC 如何实现:

简单来说: NVIC 模式就是 STM32 用来高效、实时、灵活地处理各种打断 CPU 执行的事件(中断)的一套强大机制,其核心是中断嵌套、向量跳转和基于抢占/子优先级的调度。开发者通过配置 NVIC 的相关寄存器(如设置优先级、优先级分组、使能中断)来利用这套机制满足具体应用的需求。

单片机的NVIC与EXTI中断详解

的控制。但是各个芯片厂商在设计芯片的时候会对 Cortex-M4内核里面的 NVIC进行裁剪,把不需要的部分去掉,所以说 STM32的 NVIC

2023-11-01 12:35:18

STM32 MCU通过STM32CubeMx配置NVIC怎么没有中断子优先级选项

有些STM32用户,尤其是那些用过基于ARM Cortx-M3/M4/M7内核的STM32 MCU的用户,在使用基于M0/M0+内核的STM32

2023-09-09 09:25:32

STM32 NVIC相关库函数的资料分享

一、中断优先级分组函数:1)相关寄存器实际上,STM32的中断优先级只用到高4位,如下图所示:void NVIC_PriorityGroupConfig(uint32_t

2022-02-08 07:42:53

STM32NVIC中断优先级管理+思维导图

STM32NVIC中断优先级管理1. 优先级先后顺序抢占优先级高于响应优先级(又称子优先级),数值越小代表的优先级就越高如果两个中断的抢占优先级和响应优先级都相同,则看哪个中断先发生就先执行高优先级

资料下载 吴湛 2022-01-14 15:29:56

STM32NVIC中断优先级

STM32NVIC中断优先级CM3内核共支持256个中断,其中包含了16个内核中断,240个外部中断,并且具有256级可编程中断设置。但是stm32并没有使用CM3内核全部的东西,

资料下载 王璐 2022-01-14 15:15:49

STM32 NVIC相关库函数解析

一、中断优先级分组函数:1)相关寄存器实际上,STM32的中断优先级只用到高4位,如下图所示:void NVIC_PriorityGroupConfig(uint32_t

资料下载 远不及你 2021-12-04 20:36:09

STM32学习笔记(五)---NVIC

STM32学习笔记(五)—NVIC文章目录STM32学习笔记(五)---NVIC

资料下载 overheat 2021-12-04 18:51:05

STM32总结:NVIC是什么?中断有多少类型?资料下载

电子发烧友网为你提供STM32总结:NVIC是什么?中断有多少类型?资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程

资料下载 佚名 2021-04-06 08:45:06

STM32 NVIC中断优先级设置的步骤有哪些

STM32NVIC中断优先级管理1. 优先级先后顺序抢占优先级高于响应优先级(又称子优先级),数值越小代表的优先级就越高如果两个中断的抢占优先级和响应优先级都相同,则看哪个中断先发生就先执行高优先级

2022-01-14 09:20:22

在MDK中与NVIC相关的寄存器有哪些

STM32NVIC中断优先级CM3内核共支持256个中断,其中包含了16个内核中断,240个外部中断,并且具有256级可编程中断设置。但是stm32并没有使用CM3内核全部的东西,

2022-01-14 08:29:54

STM32NVIC有何作用

STM32 CubeIDE(六)NVIC与EXTINVICNVIC的全称是Nested vectoredinterrupt controller,即嵌套向量中断控制器。

2021-08-20 08:08:31

STM32 NVIC介绍

NVIC介绍NVIC是嵌套中断控制器的英文简称,这个功能属于内核。STM32有8个系统异常和60个外部中断,绝大多数异常和中断的优先级都是可以编

2021-08-20 06:43:49

浅析stm32的中断嵌套优先级

stm32的中断嵌套优先级stm32NVIC优先级分组中断优先级配置寄存器NVIC_IPRx描述抢占优先级与响应优先级 ,在Cortex_m3中

2021-08-13 09:45:55

学习stm32 NVIC接口编程

前言学习stm32 NVIC接口编程,学会使用常用的NVIC接口函数,优改中关优先级,开/关单个中断,开/关所有中断,开/关所有中断和异常,系统

2021-08-03 06:38:33

云技术的原含义和新含义

原来的含义是指云技术利用很多的基础才能进行基本的zhi使用,新含义是指基于云计算专上衣模式应用的网络属技术,信息技术整合技术,管理平台技术应用技

2020-07-24 16:13:46

7天热门专题 换一换
相关标签