HC-SR505红外感应模块驱动(STM32)

2023-11-07

一、前期准备
单片机:STM32F103ZET6
开发环境:MDK5.14
库函数:标准库V3.5
HC-SR505红外感应模块:淘宝有售
在这里插入图片描述
二、实验效果
在这里插入图片描述

三、驱动原理
这个模块比较简单,当有人靠近时候其IO输出3.3V,STM32可以直接采集。
需要完整工程或者有问题的请加QQ:1002521871,验证:呵呵。

四、驱动代码
HC_SR505.h

#ifndef __HC_SR505_H__
#define	__HC_SR505_H__
#include "stm32f10x.h"
#include "gpio.h"

#define		HC_SR505			PAin(0)
#define		HC_SR505_PIN		GPIO_Pin_0
#define		HC_SR505PORT		GPIOA
#define		HC_SR505_CLKLINE    RCC_APB2Periph_GPIOA

extern void HC_SR505Configuration(void);
#endif

HC_SR505.c

#include "hc_sr505.h"

void HC_SR505Configuration(void)
{
	GPIO_InitTypeDef    GPIO;
    
    //Enable APB2 Bus
    RCC_APB2PeriphClockCmd(HC_SR505_CLKLINE, ENABLE);
    
    //Register IO 
    GPIO.GPIO_Pin   = HC_SR505_PIN;
    GPIO.GPIO_Mode  = GPIO_Mode_IPD;
    GPIO_Init(HC_SR505PORT, &GPIO);
}

由于作者能力有限,有不妥之处欢迎指正,邮箱alex_hua@foxmail.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HC-SR505红外感应模块驱动(STM32) 的相关文章

  • 如何更改闪存的起始地址?

    我正在使用 STM32F746ZG 和 FreeRTOS Flash的起始地址是0x08000000 但我想把它改成0x08040000 我通过谷歌搜索了这个问题 但没有找到解决方案 我更改了链接器脚本 如下所示 MEMORY RAM xr
  • GCC - 如何停止链接 malloc?

    我正在努力将我的代码缩减到最小的骨架大小 我使用的是只有 32k 闪存的 STM32F0 需要很大一部分闪存用于数据存储 我的代码已经有大约 20k 闪存大小 其中一些是由于使用了 STM32 HAL 函数 我可以在以后需要时对其进行解释和
  • 优化 ARM Cortex M3 代码

    我有一个 C 函数 它尝试将帧缓冲区复制到 FSMC RAM 这些函数将游戏循环的帧速率降低至 10FPS 我想知道如何分析反汇编的函数 我应该计算每个指令周期吗 我想知道CPU把时间花在哪里 在哪个部分 我确信该算法也是一个问题 因为它的
  • 当数据大小较小时,内存到内存 DMA 传输是否需要权衡?

    我正在学习 STM32 F4 微控制器 我正在尝试找出使用 DMA 的限制 根据我的理解和研究 我知道如果数据量较小 即设备使用DMA生成或消耗少量数据 则开销会增加 因为DMA传输需要DMA控制器执行操作 从而不必要地增加系统成本 我做了
  • 137-基于stm32单片机智能保温杯控制装置Proteus仿真+源程序

    资料编号 137 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DS18B20传感器 电机 制作一个基于stm32单片机智能保温杯控制装置Proteus仿真 2 通过DS18b20传感器检测当前保温杯水的温度 并且
  • rt-thread studio中新建5.02版本报错

    先吐槽一下 rt thread studio出现BUG真多 好多时间都是在找BUG 但里面用好多控件还是挺好用的 真是又爱又恨 所以一般使用功能不多的话还是用keil多一点 创建5 02版本工程之后直接进行编译 直接会报下面这个错误 资源
  • STM32F4 通过软复位跳转到引导加载程序,无需 BOOT0 和 BOOT1 引脚

    我问这个问题是因为可以在这里找到类似问题的答案 通过应用程序跳转到 STM32 中的引导加载程序 即从用户闪存在引导模式下使用引导 0 和引导 1 引脚 用户 JF002 JF002回答 当我想跳转到引导加载程序时 我在其中一个备份寄存器中
  • 匹配 STM32F0 和 zlib 中的 CRC32

    我正在研究运行 Linux 的计算机和 STM32F0 之间的通信链路 我想对我的数据包使用某种错误检测 并且由于 STM32F0 有 CRC32 硬件 并且我在 Linux 上有带有 CRC32 的 zlib 所以我认为在我的项目中使用
  • STM32超声波——HC_SR04

    文章目录 一 超声波图片 二 时序图 三 超声波流程 四 单位换算 五 取余计算 六 换算距离 七 超声波代码 一 超声波图片 测量距离 2cm 400cm 二 时序图 1 以下时序图要先提供一个至少10us的脉冲触发信号 告诉单片机我准备
  • 毕业设计 江科大STM32的智能温室控制蓝牙声光报警APP系统设计

    基于STM32的智能温室控制蓝牙声光报警APP系统设计 1 项目简介 1 1 系统构成 1 2 系统功能 2 部分电路设计 2 1 stm32f103c8t6单片机最小系统电路设计 2 2 LCD1602液晶显示电路设计 2 2 风
  • 硬件基础-电容

    电容 本质 电容两端电压不能激变 所以可以起到稳定电压作用 充放电 电容量的大小 想使电容容量大 使用介电常数高的介质 增大极板间的面积 减小极板间的距离 品牌 国外 村田 muRata 松下 PANASONIC 三星 SAMSUNG 太诱
  • 串口通讯第一次发送数据多了一字节

    先初始化IO再初始化串口 导致第一次发送时 多出一个字节数据 优化方案 先初始化串口再初始化IO 即可正常通讯
  • STM32 暂停调试器时冻结外设

    当到达断点或用户暂停代码执行时 调试器可以停止 Cortex 中代码的执行 但是 当皮质停止在暂停状态下执行代码时 调试器是否会冻结其他外设 例如 DMA UART 和定时器 您只能保留时间 r 取决于外围设备 我在进入主函数时调用以下代码
  • 嵌入式开发--STM32G4系列片上FLASH的读写

    这个玩意吧 说起来很简单 就是几行代码的事 但楞是折腾了我大半天时间才搞定 原因后面说 先看代码吧 读操作 读操作很简单 以32位方式读取的时候是这样的 data IO uint32 t 0x0800F000 需要注意的是 当以32位方式读
  • 库函数点亮Led

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门
  • 特殊寄存器

    特殊寄存器 文章目录 前言 一 背景 二 2 1 2 2 总结 前言 前期疑问 STM32特殊寄存器到底是什么 特殊寄存器怎么查看和调试代码 本文目标 记录和理解特殊寄存器 一 背景 最近在看ucosIII文章是 里面提到特殊寄存器 这就进
  • systick定时器

    systick定时器 文章目录 前言 一 前期疑惑 二 解答 1 关于systick是阻塞的吗 2 非阻塞 三 软件编写 总结 前言 这边记录systick相关知识点 一 前期疑惑 在学习systick志气啊 其实对于systick还是一脸
  • STM32F0、ST-link v2、OpenOCD 0.9.0:打开失败

    我在用着发射台 http www ti com ww en launchpad about htmlgcc arm none eabi 4 9 2015q2 为 STM32F0 进行编译 现在我想使用该集合中的 arm none eabi
  • 使用 STM32 USB 设备库将闪存作为大容量存储设备

    我的板上有这个闪存IC 它连接到我的STM32F04 ARM处理器 处理器的USB端口可供用户使用 我希望我的闪存在通过 USB 连接到 PC 时被检测为存储设备 作为第一步 我在程序中将 USB 类定义为 MSC 效果很好 因为当我将主板
  • 使用 STM32F0 ADC 单独读取不同的输入

    STM32F072CBU 微控制器 我有多个 ADC 输入 并且希望单独读取它们 STMcubeMX 生成样板代码 假设我希望按顺序读取所有输入 但我无法弄清楚如何纠正这个问题 这篇博文 http blog koepi info 2015

随机推荐

  • python自动化_检测系统的空文件夹

    一 空文件夹的判断 1 os listdir 函数 2 权限得注意 二 统计检测消耗时间 1 引入datetime日期库 2 扫描开始start time 扫描结束end time 3 因为权限的原因 所以使用了try import os
  • Matlab中使用Mex时遇到的问题及解决方法

    在Matlab命令行使用mex命令时出现错误 error Building MFC application with MD d CRT dll version requires MFC shared dll version Please d
  • 中国姓氏大全(常见508个,罕见740个)

    1 比较靠谱的资料 资料来源 百度百科 中国姓氏 常见姓氏 508个 赵 钱 孙 李 周 吴 郑 王 冯 陈 褚 卫 蒋 沈 韩 杨 朱 秦 尤 许 何 吕 施 张 孔 曹 严 华 金 魏 陶 姜 戚 谢 邹 喻 柏 水 窦 章 云 苏 潘
  • xml报文编写以及解析

    封装电子保单回执报文 Document document org dom4j DocumentHelper createDocument document setXMLEncoding UTF 8 Element root document
  • ChatGPT“保姆级教程”——手把手教你1分钟快速制作思维导图(Markmap/Xmind+Markdown)

    目录 前言 使用ChatGPT生成markdown格式主题 Markmap Markdown 使用Markmap生成思维导图 Xmind Markdown 使用Xmind生成思维导图 建议 其它资料下载 前言 思维导图是一种强大的工具 它可
  • hdu 1003 最大连续子序列和及起始位置 && hdu 1087 最大上升子序列和

    hdu 1003 题意 求最大连续子序列和及起始位置 对于动态规划问题要找出其子问题 考虑到dp的无后效性 dp i 表示以i为结尾的最大值 当dp i 1 gt 0时 以i 1为值对以i为结尾的值有贡献 否则起始位置变为自己 动态地更新最
  • [从零开始学DeepFaceLab-6]: 使用-命令行八大操作步骤-第3步:从目标视频中提取图片

    目录 总体流程 步骤3 从目标视频中提取图片 3 0 目标视频文件和大小的选择 3 1 命令 3 cut video drop video on me bat 可选
  • 三大主流软件负载均衡器对比(LVS、Nginx、HAproxy)

    资料来自网络 做了部分的补充说明 LVS 1 抗负载能力强 性能高 能达到F5的60 对内存和CPU资源消耗比较低 2 工作在网络4层 通过VRRP协议 仅作代理之用 具体的流量是由linux内核来处理 因此没有流量的产生 3 稳定 可靠性
  • vue生命周期 —— 模板编译

    Vue 的 template 是如何编译成真正的 HTML 并做到双向绑定等等特殊功能的呢 在这张图中 我们可以看到 Vue 的模板编译是在 mount 的过程中进行的 在 mount 的时候执行了 compile 这个方法来将 templ
  • Linux 根目录满了 linux根目录扩容方法 详解!!!

    CentOS 7根目录扩容方法 最近公司测试服务器根目录满了 便有同事网上找了教程进行扩容 但是由于找的教程不够严谨 导致扩容失败 还丢失了一部分文件 所以这里详细说明一下方法 方法流程说明 1 查看系统存储空间 看一下 home做在卷已用
  • 【angular】项目实践-表格显示

    介绍 前端中经常用到的组件就是表格了 下面简单介绍下表格的显示 HTML文件 div class container style margin bottom 10px width 95 div class row div div
  • SpringBoot -- 使用logback记录日志

    Logback介绍 Logback是由log4j创始人设计的另一个开源日志组件 官方网站 http logback qos ch Logback的内核重写了 在一些关键执行路径上性能提升10倍以上 而且logback不仅性能提升了 初始化内
  • vue v-for循环中如何给部分元素添加事件和样式

    vue中给循环元素统一添加事件和样式很简单 下面看下单独给某个循环出来的元素添加事件和样式如何实现 demo vue
  • IPsec ×××基本实验

    IPsec 基本实验 一 实验拓扑 二 实验原理 IKE概述 用IPsec保护一个IP包之前 必须先建立一个安全联盟 SA SA可以手动创建或者动态建立 Internet密钥交换 IKE 用于动态建立SA IKE的精髓 通过一系列数据的交换
  • windows 服务器 部署java项目

    第一步 下载软件 只下载我这里需要的软件 如有不同请自行百度 链接 https pan baidu com s 1pAWffZZvKW2B9tj3YEuHeA pwd rps4 提取码 rps4 第二步 配置软件环境变量 配置并安装jdk
  • Jmeter系列-测试计划详细介绍(3)

    测试计划的作用 测试计划描述了 Jmeter 在执行时 一系列的步骤 一个完整的测试计划包含了一个或多个 线程组 逻辑控制器 采样器 监听器 定时器 断言和配置元素 Jmeter原件和组件的介绍 基本元件的介绍 多个类似功能组件的 容器 类
  • 浅谈Unity资源异步加载和Coroutine的使用

    为了节省内存 游戏的一些资源往往需要在运行时 runtime 动态加载 如果资源本身加载比较耗时 采用同步方法会产生卡顿现象 对此的解决方法通常采用多线程或者使用引擎本身自带的异步加载方法 在Unity开发中 由于一些方法 如Resourc
  • 微信小程序 audio 音频 组件

    完整微信小程序 Java后端 技术贴目录清单页面 必看 音频 1 6 0版本开始 该组件不再维护 建议使用能力更强的 wx createInnerAudioContext 接口 属性 类型 默认值 必填 说明 最低版本 id string
  • 知识图谱——Python操作Neo4j导入CSV文件建立图谱

    首先Neo4j是图数据库 最重要的就是结点和边的关系 每两个结点和边都可以看成三元组 主谓宾的关系 当然结点也是可以添加属性的 但是首先要有结点 在添加属性 本片文章就是用简单的方式一次性给大家讲解清楚 简单起见 我们用西游记师徒四人为例子
  • HC-SR505红外感应模块驱动(STM32)

    一 前期准备 单片机 STM32F103ZET6 开发环境 MDK5 14 库函数 标准库V3 5 HC SR505红外感应模块 淘宝有售 二 实验效果 三 驱动原理 这个模块比较简单 当有人靠近时候其IO输出3 3V STM32可以直接采