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

相关推荐
嵌入式小站8 小时前
STM32 零基础可移植教程 17:USART + DMA + IDLE,串口不定长接收怎么做
stm32·单片机·嵌入式硬件
史蒂芬_丁8 小时前
Cortex-M内核中断保护机制详解:PRIMASK寄存器的正确使用方法
单片机·嵌入式硬件
榴莲llll8 小时前
LED高亮数码管显示驱动芯片数显屏驱动器最大支持13×3的按键VK16K33A
单片机
崇山峻岭之间9 小时前
单片机传感器实验
单片机·嵌入式硬件
芯岭技术12 小时前
PY32F030国产32位MCU,应用场景广泛,宽工作电压、丰富外设
单片机·嵌入式硬件·物联网
lularible13 小时前
从沙子到车辙(5.2):实时操作系统
开源·嵌入式·汽车电子
2023自学中13 小时前
Linux虚拟机 CMakeLists.txt:x86 与 ARM 双架构编译脚本
linux·c语言·c++·嵌入式
webmote3313 小时前
从零打造虚拟小智:用浏览器模拟 IoT 设备的实践之路
aigc·.net·嵌入式
FreakStudio16 小时前
大话电容传感器和电容SOC芯片,看这一篇就够了
python·单片机·嵌入式·面向对象·并行计算·电子diy·电子计算机
信看16 小时前
常见通信接口
单片机·嵌入式硬件