1.外部中断介绍
1.1 EXTI简介
STM32F10x外部中断/事件控制器(EXTI)包含多达 20 个用于产生事件/中断请求的边沿检测器。(事件与中断的区别,可参看STM32---中断与事件的区别_中断和事件的区别-CSDN博客)
具体有哪些,就是参看这个中断向量表
20个EXTI的具体组成如下:
上面这16个对应GPIO的16 IO口的中断。
开发板上所使用的这个芯片STM32F103,没有最后一个以太网唤醒的中断,所以是19个EXTI。
EXTI的每根输入线都可单独进行配置:以选择类型(中断或事件)和相应的触发方式(上升沿触发、下降沿触发或边沿触发),还可独立地被屏蔽。
上图中类似9处写的那些20,是表示20个EXIT都是同样的连接方式。
信号从输入线进来,有两种路线:
如果是中断,就走1,2,3,4,5
如果是事件,就走1,2,3,6,7,8
输入线1,就是芯片外部的触发信号的输入处,对EXIT来说,通常就是GPIO的某一个引脚。
边沿检测电路2,用来设定是上升沿触发还是下降沿触发,或者两者都出现才触发。触发就输出高电平到3,否则输出低电平。
或门3,有两个输入口,只要有一个有高电平,就会输出高电平。这个请求信号会保存在请求挂起寄存器中。
由与门4可以知道,如果将中断屏蔽寄存器设为0,那么就可以屏蔽收到的中断信号。当中断屏蔽寄存器设为1并且请求挂起寄存器也为1时,就可将中断送到中断控制器。