4.1中断的概念
中断:正在进行的事务被突发事件打断,转而处理这个突发事件,突发事件处理完成后回到被打断的事物继续执行,这一处理突发事件的过程叫做中断。
(大白话解释:你打游戏的时候,电话来了,你停下打游戏来接电话,完事后继续打游戏这一过程叫做中断)
单片机的中的中断:由于中断源的触发,常规程序被打断,CPU转而运行中断的响应函数,而后又回到常规程序的执行,这一过程叫做中断。
4.2中断的组成特点与过程
中断特点:突发性:随机地在任意时刻发生、没有预兆。
紧急性:需求马上被处理。
中断处理过程(四个阶段):中断触发 中断源——中断进入 保存现场——中断响应 清楚中断源与调用中断响应函数 中断退出——还原现场
4.3中断优先级的概念
中断优先级:中断处理的紧急程度叫做中断优先级。
中断排队:在中断响应的过程中又有新的中断到来,新到来的中断需要排队,根据中断优先级决定排队顺序。
中断嵌套:中断处理过程被更紧急的中断源打断。
分类:抢占优先级与子优先级
抢占优先级用来嵌套,子优先级用来排队。
表示方法:1、优先级的值越小优先级越高。2、遇到抢占优先级更高的中断会发生“中断嵌套”。3、未发生中断嵌套时会发生“中断排队”,总优先级更高的中断排在前面。
“脉冲型”中断源与“电平型” 中断源:
“脉冲型”中断源(罕见): 中断提示信号一闪而过。
“电平型”中断源(常见):中断提示信号连续,直到手动关闭,因此必须在中断响应函数结束前清楚中断。
4.4 NVIC简介
NVIC(Nested Vectored Interrupt Controller)嵌套中断向量控制器核心外设,位于Cortex-M3内核中,负责管理中断。
中断协作模型:片上外设(产生中断源)——NVIC(管理中断)——FLASH(存储中断响应函数)。
NVIC的内部结构:
核心外设不需要开启时钟
片上外设产生中断源
GPIO,AFIO不能产生中断
4.5中断向量表的概念
中断向量表:Flash存储器内部从地址0开始的一段区域,按照中断号排列,每4个字节存储一个中断相应函数的地址。
4.6NVIC的标准库编程
\
NVIC_PriorityGroupConfig
NVIC_Init
4.7中断编程的完整流程
1.开启中断源 2.配置NVIC 3.编写中断响应函数
配置NVIC
中断向量表
示例代码