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

相关推荐
范纹杉想快点毕业12 分钟前
zynq 开发系列 新手入门:GPIO 连接 MIO 控制 LED 闪烁(SDK 端代码编写详解)
c语言·笔记·stm32·单片机·嵌入式硬件·mcu·物联网
Wallace Zhang2 小时前
STM32 - Embedded IDE - GCC - 使用 GCC 链接脚本限制 Flash 区域
stm32·gcc·eide
世微 如初3 小时前
AP5414:高效灵活的LED驱动解决方案,点亮创意生活
单片机·嵌入式硬件
vortex53 小时前
Windows 电源管理和 Shutdown 命令详解
windows·stm32·命令行
苏州向日葵4 小时前
freertos下printf(“hello\r\n“)和printf(“hello %d\r\n“,i)任务堆栈消耗有何区别
单片机
7yewh5 小时前
STM32 IIC SPI 驱动 LPS22HB LPS系列通用
stm32·单片机·嵌入式硬件
小憩-5 小时前
【stm32】定时器中断与定时器外部时钟
stm32·单片机·嵌入式硬件
CC呢7 小时前
基于单片机宠物项圈/宠物防丢失设计
单片机·嵌入式硬件·宠物·单片机设计
Skylar_.8 小时前
嵌入式 - 硬件:51单片机(2)
单片机·嵌入式硬件
不懂机器人8 小时前
51单片机----LED与数码管模块
单片机·嵌入式硬件·51单片机