NVIC原理和使用

NVIC(嵌套向量中断控制器)(中断总控制器),是存在于内核中的控制器

NVIC支持256个中断(16个内核中断,240个外部中断),有256个优先级,允许裁剪(比如ST公司就把其优先级裁剪为了16个)

中断向量表

用来存放中断处理函数首地址的,存放在.s文件中

NVIC相关常用寄存器介绍:ISER(中断使能寄存器)、ICER(中断除能寄存器)、AIRCR(应用程序中断及复位控制寄存器)、IPR(外部中断优先级控制寄存器)

非常用寄存器

工作原理简图:

(外部中断)

(内核中断)

中断优先级的基本概念

抢占优先级(抢占CPU资源的优先级)、响应优先级、自然优先级

中断优先级分组

NVIC的使用

最常用的三个函数

HAL_NVIC_SetPriorityGrouping

HAL_NVIC_SetPriority

HAL_NVIC_EnableIRQ

了解寄存器

SCB_AIRCR(优先级分组寄存器)

NVIC_IPRx(外部中断优先级寄存器)(内部是SHPR)

NVIC_ISER (中断使能寄存器)

相关推荐
Zero_Era2 分钟前
高性价比安全MCU——LKT6830C
单片机·嵌入式硬件·安全
国科安芯1 小时前
卫星通讯导航FPGA供电单元DCDC芯片ASP4644S2B可靠性分析
单片机·嵌入式硬件·fpga开发·架构·安全性测试
知南x2 小时前
【STM32MP157 视频监控项目】(2) 移植 Nginx
stm32·nginx·音视频
hugerat3 小时前
在AI的帮助下,用C++构造微型http server
linux·c++·人工智能·http·嵌入式·嵌入式linux
易水寒陈3 小时前
单片机实现的工厂模式
单片机
点灯小铭5 小时前
双积分AD转换电路
单片机·毕业设计·课程设计·期末大作业
Zeku5 小时前
20260110 - Linux驱动学习笔记:环形缓冲区与按键防丢失
stm32·freertos·linux驱动开发·linux应用开发
youcans_5 小时前
【动手学STM32G4】(8)STM32G431之 DAC进阶
stm32·单片机·嵌入式硬件·dma·定时器
hqwest5 小时前
码上通QT实战14--监控页面06-串口设备数据初始化-
单片机·rs232·serialport·波特率·串口设备·虚拟串口设备软件·qt项目配置文件
Zeku5 小时前
20260111 - Linux驱动学习笔记:异步通知
笔记·stm32·freertos·linux驱动开发·linux应用开发