外部中断概述
IO口外部中断在中断向量表中只分配了7个中断向量,只能使用7个中断服务函数
位置 | 优先级 | 优先级类型 | 说明 | 地址 |
---|---|---|---|---|
6 | 13 | EXTI0 | EXTI线0中断 | 0x000_0058 |
7 | 14 | EXTI1 | EXTI线1中断 | 0x000_005C |
8 | 15 | EXTI2 | EXTI线2中断 | 0x000_0060 |
9 | 16 | EXTI3 | EXTI线3中断 | 0x000_0064 |
10 | 17 | EXTI4 | EXTI线4中断 | 0x000_0068 |
23 | 30 | EXTI9~5 | EXTI线[9:5]中断 | 0x000_009C |
40 | 47 | EXTI15~10 | EXTI线[15:10]中断 | 0x000_00E0 |
库函数
GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource)
设置IO口与中断线的映射关系
EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct)
初始化中断线:触发方式等
参数:EXTI_InitTypeDef:
EXTI_Line指定要配置的中断线
EXTI_Mode模式:事件or中断
EXTI_Trigger触发方式
EXTI_LineCmd使能or失能
EXTI_GetITStatus(uint32_t EXTI_Line)
判断中断线中断状态,是否发生
EXTI_ClearITPendingBit(uint32_t EXTI_Line)
清除中断线上的中断标志位
配置步骤