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 (中断使能寄存器)

相关推荐
一个学Java小白23 分钟前
LV.5 文件IO
stm32·单片机·嵌入式硬件
sheepwjl1 小时前
《嵌入式硬件(十八):基于IMX6ULL的ADC操作》
单片机·嵌入式硬件·imx6ull·adc
2301_805962933 小时前
AXF文件变量地址查找完全指南
stm32
BMS苦研者4 小时前
芯片选型避坑指南:如何根据需求快速筛选MCU
单片机·嵌入式硬件
国科安芯5 小时前
基于AS32A601型MCU芯片的屏幕驱动IC方案的技术研究
服务器·人工智能·单片机·嵌入式硬件·fpga开发
努力学习的小趴菜。6 小时前
基于STM32的智能天气时钟
stm32·单片机·嵌入式硬件
大聪明-PLUS7 小时前
使用 GitLab CI/CD 为 Linux 创建 RPM 包(一)
linux·嵌入式·arm·smarc
SundayBear7 小时前
Linux驱动开发指南
linux·驱动开发·嵌入式
大聪明-PLUS7 小时前
使用 GitLab CI/CD 为 Linux 构建 RPM 包(二)
linux·嵌入式·arm·smarc
逆小舟8 小时前
【STM32】电动车报警系统
stm32·单片机·嵌入式硬件