作用:监听GPIO口引脚电平变化。EXTI可以触发中断(让CPU响应),也可以触发事件(让外设(ADC,DMA等)响应)。
使用步骤:
1.打开GPIO和AFIO的时钟(EXTI和NVIC的时钟是一直打开的,不需要手动打开)
2.配置GPIO
3.配置AFIO
4.配置EXTI
5.配置NVIC
6.编写中断服务函数(注意要在中断服务函数中清除中断标志位,否则只会响应一次)
注:
- NVIC嵌套中断向量控制器用来分配中断优先级和管理中断,接收管理EXTI、TIM、ADC、USART等外设的中断申请,由它判断哪个中断最先响应。其中EXTI0、EXTI1、EXTI2、EXTI3、EXTI4、EXTI9_5、EXTI15_10,分别对应着GPIOX_P0、GPIOX_P1、GPIOX_P2、GPIOX_P3、GPIOX_P4、GPIOX_P5-9、GPIOX_P10-15。不同GPIO口的相同pin不能同时触发中断。
- GPIO和EXTI之间还有个AFIO中断引脚选择(AFIO有两个功能,一个是引脚复用,一个是中断引脚选择)。
3. 优先级分组方式,抢占优先级高的可以打断低的,相同抢占优先级的情况下响应优先级高的可以排队在低的前面但不可以打断。均相同时按照嵌套中断向量表里的编号排队。