外部中断概述
STM32F4的每个IO都可以作为外部中断输入。
STM32F4的中断控制器支持22个外部中断/事件请求:
从上面可以看出,STM32F4供IO使用的中断线只有16个,但是STM32F4XX系列的IO口多达上百个,那么中断线怎么跟IO口对应呢?
可以看出GPIOx.0映射到EXTI0
GPIOx.1映射到EXTI1
...
GPIOx.15映射到EXTI15
同一个中断线在某一时刻,只能映射一个对应的GPIO口的某个脚。
那么有16跟中断线,是否就对应有16个中断服务函数呢?
答案是不是的!
IO口外部中断在中断向量表中只分配了7个中断向量,也就是只能使用7个中断服务函数。
可以看出,外部中断线5-9分配一个中断向量,共用一个服务函数,外部中断10-15分配一个中断向量,共用一个中断服务函数。
bsp_exti.h文件
#ifndef __BSP_EXTI_H #define __BSP_EXTI_H
#include "stm32f4xx.h"
void EXTI_Key_Config(void);
#endif
bsp_exti.c文件
#include "bsp_exti.h"
1、EXTI 功能框图