一、STM32外部中断介绍
STM32的每一个IO口都可以作为外部中断的中断输入口。STM32F103的中断控制器支持19个外部中断/事情请求。每个中断都设有状态位,每个中断/事件都有独立的触发和屏蔽设置。
STM32F103的19个外部中断为:
线0~15 | 对应外部IO口的输入中断 |
线16 | 连接到PVD输出 |
线17 | 连接到RTC闹钟事件 |
线18 | 连接到USB唤醒事件 |
其中,STM32供IO口使用的中断线只有16个。STM32如何把16个中断线和IO口一一对应起来呢?STM32是这样设计的,GPIO的管脚GPIOx.0~GPIOx.15(x = A,B,C,D,E,F,G)分别对应中断线0~15,如此一来,每个中断线对应了最多7个IO口。举个例子说明,GPIOA.0、GPIOB.0、GPIOC.0、GPIOD.0、GPIOE.0、GPIOF.0、GPIOG.0对应中断线0。每个中断线上每次只能连接在1个IO口上,这样就需要通过配置来决定对应中断线配置到哪个GPIO上了。如下是GP