一、外部中断介绍
STM32 的每个 IO 都可以作为外部中断的中断输入口,STM32F103 的中断控制器支持 19 个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。 线 0~15:对应外部 IO 口的输入中断。
线 16:连接到 PVD 输出。
线 17:连接到 RTC 闹钟事件。
线 18:连接到 USB 唤醒事件。
二、外部中断映射关系
STM32 供 IO 口使用的中断线只有 16 个,为了把 16 个中断线和 IO 口一一对应起来,就采用映射的方法进行对应。映射关系如图所示:
通过这种映射关系就可以用一根中断线把七个IO口对应起来,需要那个IO口输入外部中断只需要在库函数里面进行配置就行。利用void GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource);进行中断线映射。
三、外部中断相关寄存器功能
1.中断屏蔽寄存器(EXTI_IMR)