EXTI(Extern Interrupt)外部中断
EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序。
支持的触发方式:上升沿/下降沿/双边沿/软件触发
支持的GPIO口:所有的GPIO口,但相同的Pin不能同时触发中断(例如PA0,PB0不能同时使用)
通道数:16个GPIO_Pin(GPIO_Pin_0~GPIO_Pin_15),外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒
触发响应方式:中断响应/事件响应
1.对射式红外传感器计次
红外传感器:GPIOB_Pin_14
开启GPIO、AFIO时钟(APB2总线)
——GPIO配置:(结构体)模式、Pin、Speed
——AFIO配置:GPIO_EXTILineConfig(GPIO_PortSourceGPIOx, GPIO_PinSourcex)
配置AFIO的数据选择器,从而选择想要的中断引脚
——EXTI配置:(结构体)EXTI_InitTypeDef EXTI_InitStruct;EXTI_Init(&EXTI_InitStruct)
EXTI_Line:
EXTI_Line0 、EXTI_Line1 、 EXTI_Line2 、 EXTI_Line3 、 EXTI_Line4 、 EXTI_Line5 、 EXTI_Line6 、 EXTI_Line7 、 EXTI_Line8 、 EXTI_Line9 、 EXTI_Line10 、EXTI_Line11 、 EXTI_Line12 、EXTI_Line13 、 EXTI_Line14 、 EXTI_Line15、
EXTI_LineCmd:ENABLE or DISABLE
EXTI_Mode:EXTI_Mode_Interrupt(中断响应