完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
例程下载:
资料包括程序、相关说明资料以及软件使用截图 百度云盘:https://pan.baidu.com/s/1slN8rIt 密码:u6m1 360云盘:https://yunpan.cn/OcPiRp3wEcA92u密码 cfb6 (硬石YS-F1Pro开发板HAL库例程持续更新2. 软件设计之高级裸机例程(HAL库版本)YSF1_HAL-117. HC-SR501人体红外感应)/** ****************************************************************************** * 硬石YS-F1Pro开发板例程功能说明 * * 例程名称: YSF1_HAL-117. HC-SR501人体红外感应 * ****************************************************************************** * 说明: * 本例程配套硬石STM32开发板YS-F1Pro使用。 * * 淘宝: * 论坛:硬石电子社区 * 版权归硬石嵌入式开发团队所有,请勿商用。 ****************************************************************************** */ |
|
|
相关推荐
|
|
|
【1】例程简介
FSMC:可变静态存储控制器,是STM32系列采用的一种新型的存储器扩展技术。一般可以用FSMC 接口与液晶驱动IC连接,实现数据交换。YS-F1Pro预留16bit的FSMC液晶接口,我们同时提供了 3.5寸TFT液晶模组供选购,该模组的液晶驱动IC型号为ILI9488。 HC-SR501是基于红外线技术的自动控制模块,采用LHI778探头设计,灵敏度高,可靠性强,超 低电压工作模式,广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。 【2】跳线帽情况 ******* 为保证例程正常运行,必须插入以下跳线帽 ********** 丝印编号 IO端口 目标功能引脚 出厂默认设置 JP1 PA10 TXD(CH340G) 已接入 JP2 PA9 RXD(CH340G) 已接入 【3】操作及现象 把3.5寸TFT液晶模组插入开发板中间液晶接口上,使用开发板配套的MINI USB线连接到开发板标 示“调试串口”字样的MIMI USB接口(需要安装驱动),在电脑端打开串口调试助手工具,设置参 数为115200 8-N-1。下载完程序之后,将人体红外感应模块OUT端接入PD3引脚,供电,通过检测是 否由人在周围,在LCD上显示 |
|
|
|
|
|
|
|
|
下载附件 [color=rgb(153, 153, 153) !important]前天 09:14 上传 |
|
|
|
|
|
|
|
|
[size=0.83em]CubeMX_8.jpg (184.56 KB, 下载次数: 0)
下载附件 [color=rgb(153, 153, 153) !important]前天 09:14 上传 |
|
|
|
|
|
|
|
|
[size=0.83em]CubeMX_11.jpg (187.61 KB, 下载次数: 0)
下载附件 [color=rgb(153, 153, 153) !important]前天 09:15 上传 |
|
|
|
|
|
|
|
|
bsp_HC-SR501.h文件内容
#ifndef __BSP_KEY_H__ #define __BSP_KEY_H__ /* 包含头文件 ----------------------------------------------------------------*/ #include "stm32f1xx_hal.h" /* 类型定义 --------------------------------------------------------------*/ typedef enum { HC_SR501_LOW = 0, HC_SR501_HIGH = 1, }HC_SR501_State_TypeDef; /* 宏定义 --------------------------------------------------------------------*/ #define HC_SR501_RCC_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE() #define HC_SR501_GPIO_PIN GPIO_PIN_3 #define HC_SR501_GPIO GPIOD #define HC_SR501_ACTIVE_LEVEL 1 /* 扩展变量 ------------------------------------------------------------------*/ /* 函数声明 ------------------------------------------------------------------*/ void HC_SR501_GPIO_Init(void); HC_SR501_State_TypeDef HC_SR501_StateRead(void); #endif // __BSP_KEY_H__ /******************* (C) COPYRIGHT 2015-2020 硬石嵌入式开发团队 *****END OF FILE****/ |
|
|
|
|
|
|
|
|
bsp_HC-SR501.c文件内容
/** ****************************************************************************** * 文件名程: bsp_HC-SR501.c * 作 者: 硬石嵌入式开发团队 * 版 本: V1.0 * 编写日期: 2015-10-04 * 功 能: HC-SR501人体红外感应驱动实现 ****************************************************************************** * 说明: * 本例程配套硬石stm32开发板YS-F1Pro使用。 * * 淘宝: * 论坛:http://www.ing10bbs.com * 版权归硬石嵌入式开发团队所有,请勿商用。 ****************************************************************************** */ /* 包含头文件 ----------------------------------------------------------------*/ #include "HC-SR501/bsp_HC-SR501.h" /* 私有类型定义 --------------------------------------------------------------*/ /* 私有宏定义 ----------------------------------------------------------------*/ /* 私有变量 ------------------------------------------------------------------*/ /* 扩展变量 ------------------------------------------------------------------*/ /* 私有函数原形 --------------------------------------------------------------*/ /* 函数体 --------------------------------------------------------------------*/ /** * 函数功能: 人体红外感应模块IO引脚初始化. * 输入参数: 无 * 返 回 值: 无 * 说 明:对人体红外感应模块接入的引脚进行初始化 * */ void HC_SR501_GPIO_Init(void) { /* 定义IO硬件初始化结构体变量 */ GPIO_InitTypeDef GPIO_InitStruct; /* 使能(开启)HC_SR501引脚对应IO端口时钟 */ HC_SR501_RCC_CLK_ENABLE(); /* 设定HC_SR501对应引脚IO编号 */ GPIO_InitStruct.Pin = HC_SR501_GPIO_PIN; /* 设定HC_SR501对应引脚IO操作速度*/ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; /* 设定HC_SR501对应引脚IO为浮空输入模式 */ GPIO_InitStruct.Mode = GPIO_MODE_INPUT; /* 初始化HC_SR501对应引脚IO */ HAL_GPIO_Init(HC_SR501_GPIO, &GPIO_InitStruct); } /** * 函数功能: 简单粗暴的延时函数 * 输入参数: time;延时时间设置 * 返 回 值: 无 * 说 明:软件消抖 */ static void HC_SR501_ScanDelay(void) { uint32_t i,j; for(i=0;i<100;++i) for(j=0;j<1000;++j){ } } /** * 函数功能: 读取引脚的状态 * 输入参数:无 * 返 回 值: HC_SR501_HIGH:有人; * HC_SR501_LOW:没人 * 说 明:无。 */ HC_SR501_State_TypeDef HC_SR501_StateRead(void) { /* 读取模块输出信号,若此时输出的是高电平 ,则进入下一步判断*/ if(HAL_GPIO_ReadPin(HC_SR501_GPIO,HC_SR501_GPIO_PIN)==HC_SR501_ACTIVE_LEVEL) { /* 延时一小段时间,消除抖动 */ HC_SR501_ScanDelay(); /* 延时时间后再来判断引脚状态,如果还是高电平那么确实就是高电平 */ if(HAL_GPIO_ReadPin(HC_SR501_GPIO,HC_SR501_GPIO_PIN)==HC_SR501_ACTIVE_LEVEL) { /* 按键扫描完毕,确定有人,返回有人状态(高电平) */ return HC_SR501_HIGH; } } /* 没人,返回没人状态 */ return HC_SR501_LOW; } /******************* (C) COPYRIGHT 2015-2020 硬石嵌入式开发团队 *****END OF FILE****/ |
|
|
|
|
|
|
|
|
感谢转载分享。
|
|
|
|
|
|
|
|
693 浏览 0 评论
RT-Thread与英飞凌(infineon)合作得板子PSOC 6 板子学习
681 浏览 0 评论
有人有STM8H1K08T连接TM1650的源码吗,可以直接使用的那种,我的代码在烧录之后数码管一直处于熄灭状态
993 浏览 0 评论
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
781 浏览 0 评论
893 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16958 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-9 07:01 , Processed in 1.059566 second(s), Total 102, Slave 84 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖