当主程序执行到某个地方时,外设的中断条件满足,则主程序立刻暂停,程序由硬件电路跳转到中断程序中
当中断程序正在执行时,又有新的优先级更高的中断出现,则会打断中断程序的运行,执行新的中断
一般中断程序都会在一个子函数中,这个子函数不需人为调用,当中断来临时,硬件自动调用此函数
一、NVIC![](https://img-blog.csdnimg.cn/direct/0ca41eb1e1764a63b853d2585bf15b50.png)
NVIC:嵌套中断向量控制器,用于统一分配中断优先级和管理中断
NVIC有很多输入口,可以接很多中断线路 。n表示一个外设可能会同时占用多个中断通道。
值越小,优先级越高。0是最高优先级
响应优先级:当上一中断结束后,优先处理响应优先级高的中断
抢占优先级: 在中断A执行时,如果遇到抢占优先级更高的中断B,则中断A暂停,先执行中断B
二、EXTI
关于“相同的Pin不能同时触发中断”,意思是PA0、PB0和PC0不能同时触发中断
中断响应:申请中断,让CPU执行中断函数
事件响应:不会触发中断,而是触发别的外设操作
AFIO选从3个GPIO外设的同号引脚中选择其中一个连接到EXTI中,因此“相同的Pin不能同时触发中断”
EXTI外部中断的9~5和15~10分别分配到了一个通道,在这两个通道中,需要再根据标志位来区分具体是哪个中断。