超声波(HC-SR04)

本文介绍了超声波传感器HC-SR04的工作流程,包括10us高电平触发、40kHz方波发送、接收回波以及计算距离的原理。在STM32单片机上,主要使用输入捕获模块来计算高电平持续时间,进而计算距离。提供了初始化和获取测量结果的函数代码。
摘要由CSDN通过智能技术生成

超声波(HC-SR04)

1、

在这里插入图片描述

2、工作流程

①单片机引脚触发Trig测距,给至少10us的高电平
②模块自动发送8个40khz的方波,自动检测是否有信号返回
③有信号返回,通过IO口输出高电平,并单片机ji’shu’an2高电平的持续时间
④超声波从发射到返回的时间
测量距离=(高电平的时间*340m/s)/2 (因为声波一去一回,两倍的距离所以要除以2)
在这里插入图片描述

3、涉及单片机主要模块:输入捕获

(1)主要代码如下:

#include "HC_SRO4.h"
uint32_t HC_SRO4Val;//储存没到65535的值
uint32_t count=0;//进入更新中断的次数
uint16_t edge=0;//上升沿标志位
uint32_t startFlag;//开始中断标志位
uint32_t sr04_Over=0;//测量完成标志位

//内部函数的声名
uint32_t calculate(void);
void HC_SRO4Start(void);

//利用GPIO模拟strig信号
void HC_SRO4Start(void)
{
   
		uint32_t i;
	HAL_GPIO_WritePin(GPIO_Trig, PIN_Trig, GPIO_PIN_SET);
		for(i=0;i<72*40;i++)
		__NOP(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值