1.中断执行流程
主程序在断点处跳出,进行一系列中断操作
2 .NVIC基本结构
NVIC相当于一个叫号系统,外部中断进来后被NVIC进行一系列的排序,从而使中断以一定顺序进入CPU
响应优先级:相当与插队但是需要等正在进行的程序完成
抢占优先级;(中断嵌套即上文提到的中断执行流程的第二个)直接中止所有,直接进行本程序,即优先等级较高
3.NVIC优先级分组
根据分组从而使NVIC优先级进行配置
4.EXTI外部中断:
EXTI可以通过检测指定的GPIO口的电平信号,当变化时则向NVIC申请中断
过程:GPIOA,GPIOB,GPIOC...每个GPIO16条线通过AFIO引脚选择向EXTI发射16条线
而向NVIC申请中断,因为16条线太多,STM32将5-9,10-15合并
eg.
1.支持所有GPIO口但相同的pin不能同时触发中断(因为AFIO向EXTI发射信号时一个pin只能发送一个)
2.触发响应的方式有:中断响应,事件响应
3.支持的触发方式有上升沿,下降沿,双边沿,软件触发
5.AFIO复用IO口
pin值与后面外部中断标号一致
6.EXTI框图
边沿检测电路与软件中断共同接到了一个“或”门上所以EXTI支持的触发方式有上升沿,下降沿,双边沿,软件触发
而中断屏蔽寄存器相当与一个开关因为一旦给其置1则开启数据由”与“门上另一根线值决定,0关闭
本文图来自江协科技
如有错误,望指正