一、外部中断EXTI简介
中断在嵌入式应用中占有非常重要的地位,几乎每个控制器都有中断功能。中断对保证紧急事件得到第一时间处理是非常重要的。STM32的外部中断/事件控制器(EXTI)管理了23个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。Gokit2扩展板板载红外障碍物检测电路,根据原理图,数字信号输出连接到了PB7,有障碍物时,输出低电平,因此我们设计为下降沿触发,使得控制器产生中断,并在中断服务函数中实现用户任务。
![](http://club.gizwits.com/data/attachment/forum/201611/11/182852dtgz3t8qfnihztlh.png)
![](http://club.gizwits.com/data/attachment/forum/201611/11/182853wttt1gujl2lhnmit.png)
二、STM32CubeMX配置
关键配置如下,配置为上拉模式,下降沿触发,并开启外部中断。
![](http://club.gizwits.com/data/attachment/forum/201611/11/182850f3wwqe3zg723q6mr.png)
其它如时钟、串口等配置参见附件文档;
三、用户应用
![](http://club.gizwits.com/data/attachment/forum/201611/11/182849cffdvddccce2hccl.png)
底板LED1代码;
![](http://club.gizwits.com/data/attachment/forum/201611/11/182917m2zzabj0cm7j22gj.png)
主函数用户代码;
![](http://club.gizwits.com/data/attachment/forum/201611/11/182917rzndtqw4ig2qkdzz.png)
外部中断应用代码,有障碍物时进入中断服务函数;
![](http://club.gizwits.com/data/attachment/forum/201611/11/184325yztp5qnice1uekuc.png)
附件:
1.STM32CubeMX配置报表PDF:
![](http://club.gizwits.com/static/image/filetype/pdf.gif)
2.完整工程文件:
![](http://club.gizwits.com/static/image/filetype/zip.gif)