基于STM32使用超声波HC-SR04模块

本文介绍了基于STM32使用HC-SR04超声波模块进行测距的方法,强调了模块需5V供电,测距时不需中断。工作原理是通过触发Trig引脚发送超声波,然后测量Echo引脚的高电平时间来计算距离。文中涉及GPIO设置、定时器配置和距离转换函数的实现。
摘要由CSDN通过智能技术生成

写在前面注意的几点:
1、HC-SR04模块必须使用5V供电,不能是3.3V
2、若单是测距,无需使用中断
3、Echo和Trig两个引脚可以任意接可用的GPIO,和定时器无关

说一下超声波的工作原理
这里写图片描述
单片机给Trig引脚一个最少10us的高电平,然后拉低引脚,便启动了模块,
然后超声波就被发了出去,超声波遇到障碍物后返回被模块接收,Echo引脚会输出一段高电平,高电平的时间与距离成比例;
那么我们所需要做的就是出发Trig引脚,然后测出Echo持续高电平的时间

以下是GPIO的设置:

void Ultrasonic_Config(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;//Trig
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

	GPIO_Init(GPIOB, &GPIO_InitStructure);

	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;//Echo
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

	GPIO_Init(GPIOB, &GPIO_InitStr
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值