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