STM32的EXTI控制器支持19 個外部中斷/ 事件請求。每個中斷設有狀態位,每個中斷/ 事件都有獨立的觸發和屏蔽設置。
STM32的19個外部中斷對應著19路中斷線,分別是EXTI_Line0-EXTI_Line18:
線0~15:對應外部 IO口的輸入中斷。
線16:連接到 PVD 輸出。
線17:連接到 RTC 鬧鐘事件。
線18:連接到 USB 喚醒事件。
GPIO 的管腳 GPIOx.0~GPIOx.15(x=A,B,C,D,E,F,G)分別對應中斷線 0~15。PAx ~ PGx端口的中斷事件都連接到了EXTIx外部中斷線上,同一時刻只能響應一個端口的事件觸發,不能同時響應所有GPIO端口的事件,但可以分時復用;?
PA0、PA1、PA2、PB3、PB4、PC5、PC6、PC7、PC8、PD9、PD10、PD11、PD12、PD13、PD14、PE15 這些IO口可以同時引發中斷;
實現EXTI線 0 ~ 15與對應IO口的配置是通過通過SYSCFG_EXTICR寄存器。
參考下圖外部中斷通用I/O映像: