1回答

1收藏

STM32版Gokit零基础开发之红外检测

机智云GoKit 机智云GoKit 2160 人阅读 | 1 人回复 | 2016-11-14

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




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

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

底板LED1代码;


主函数用户代码;


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

附件:
1.STM32CubeMX配置报表PDF:
GokitDemoInfrared.pdf
2.完整工程文件:
GokitDemoInfrared.zip
分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

slotg

发表于 2016-11-14 15:55:06 | 只看该作者

好教程,感谢分享。
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条