中断与HAL库配置
文章目录
中断基本知识
`
一、中断是什么?
中断是指当系统程序运行中出现某意外情况时,会暂停当前程序的运行,转而执行需要处理的新程序,完成后再返回原程序继续执行的过程。
1.中断相关名词
中断向量:指向对应中断服务函数的入口地址
中断向量表:把所有中断向量按照编号排序存储在一起的区域
中断服务函数:中断发生后,系统跳转执行的程序
中断优先级:决定中断发生先后的指标
中断通道:传递、处理中断的信息通道,一个中断通道可以对应多个中断源
中断源:引起中断的信号来源
2.NVIC (嵌套向量中断控制器)
NVIC作为内核的一部分,管理了所有的中断和异常,为中断和异常分配中断通道
3.中断程序执行流程
1.外部中断触发,系统进入中断
2.保存现场
3.分析中断进入中断向量表
4.跳转执行中断服务函数
5.恢复现场
对于Cortex-M3架构,保存现场、分析中断、跳转、恢复现场等工作都是由硬件完成的。
4.CubeMX如何配置中断
1.配置中断源,中断优先级
对于HAL库,中断初始化配置代码生成在MX_GPIO_Init();里,包括中断优先级的配置和中断使能。