STM32NVIC模式的含义
STM32NVIC模式的含义
STM32 中的 NVIC 模式并不是指一个单一的、可切换的“模式”,而是指 嵌套向量中断控制器 的工作机制、特性和配置方式。它定义了 STM32(基于 ARM Cortex-M 内核)如何高效地管理和响应中断。
理解 NVIC 的关键在于它的核心特性,这些特性共同构成了其“工作模式”:
-
嵌套 (Nested):
- 这是 NVIC 最核心的特性之一。它允许高优先级的中断抢占(打断)正在执行的低优先级中断。
- 高优先级中断服务程序执行完成后,CPU 会自动返回到被它打断的低优先级中断服务程序继续执行。被打断的低优先级中断执行完成后,再返回到主程序(或更低优先级中断)。
- 优势: 极大地提高了系统的实时性,确保最关键的事件能得到最及时的响应。
-
向量化 (Vectored):
- 每个中断源(如定时器、串口、ADC、外部引脚等)都有一个唯一的中断向量(入口地址)。
- 当某个中断被触发并被 CPU 响应时,硬件会自动跳转到该中断对应的向量地址去执行其特定的中断服务程序。
- 优势: 省去了软件查询中断源的步骤,显著加快了中断响应速度。CPU 直接“知道”该执行哪个服务程序。
-
优先级驱动 (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
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是什么?中断有多少类型?资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程
资料下载
佚名
2021-04-06 08:45:06
STM32 NVIC中断优先级设置的步骤有哪些
STM32NVIC中断优先级管理1. 优先级先后顺序抢占优先级高于响应优先级(又称子优先级),数值越小代表的优先级就越高如果两个中断的抢占优先级和响应优先级都相同,则看哪个中断先发生就先执行高优先级
在MDK中与NVIC相关的寄存器有哪些
STM32NVIC中断优先级CM3内核共支持256个中断,其中包含了16个内核中断,240个外部中断,并且具有256级可编程中断设置。但是stm32并没有使用CM3内核全部的东西,
STM32的NVIC有何作用
STM32 CubeIDE(六)NVIC与EXTINVICNVIC的全称是Nested vectoredinterrupt controller,即嵌套向量中断控制器。
STM32 NVIC介绍
NVIC介绍NVIC是嵌套中断控制器的英文简称,这个功能属于内核。STM32有8个系统异常和60个外部中断,绝大多数异常和中断的优先级都是可以编
浅析stm32的中断嵌套优先级
stm32的中断嵌套优先级stm32NVIC优先级分组中断优先级配置寄存器NVIC_IPRx描述抢占优先级与响应优先级 ,在Cortex_m3中
学习stm32 NVIC接口编程
前言学习stm32 NVIC接口编程,学会使用常用的NVIC接口函数,优改中关优先级,开/关单个中断,开/关所有中断,开/关所有中断和异常,系统
云技术的原含义和新含义
原来的含义是指云技术利用很多的基础才能进行基本的zhi使用,新含义是指基于云计算专上衣模式应用的网络属技术,信息技术整合技术,管理平台技术应用技
2020-07-24 16:13:46
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机