一、外部中断EXTI简介
中断在嵌入式应用中占有非常重要的地位,几乎每个控制器都有中断功能。中断对保证紧急事件得到第一时间处理是非常重要的。STM32的外部中断/事件控制器(EXTI)管理了23个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。Gokit2扩展板板载红外障碍物检测电路,根据原理图,数字信号输出连接到了PB7,有障碍物时,输出低电平,因此我们设计为下降沿触发,使得控制器产生中断,并在中断服务函数中实现用户任务。


二、STM32CubeMX配置
关键配置如下,配置为上拉模式,下降沿触发,并开启外部中断。

其它如时钟、串口等配置参见附件文档;
三、用户应用

底板LED1代码;

主函数用户代码;

外部中断应用代码,有障碍物时进入中断服务函数;

附件:
1.STM32CubeMX配置报表PDF:

2.完整工程文件:
