STM32的每个IO都可以作为外部中断输入。以STM32F429为例,它的中断控制器支持 22个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。通常供IO口使用的中断线只有16个:EXTI线0~15:对应外部IO口的输入中断。但是有些MCU的IO口却远远不止16个,那么MCU是怎么把16个中断线和IO口一一对应起来的呢? 在STM32上是这样设计的,GPIO的引脚 GPIOx.0-GPIOx.15(x=A,B,C,D,E,F,G,H,I)分别对应中断线0~15。这样每个中断线对应了最多9个IO口。中断线每次只能连接到1个IO口上,这样就需要通过配置来决定对应的中断线配置到哪个GPIO上。GPIO跟中断线的映射关系图如下:
|