栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

基于stm32f407ve的HC-SR04超声波模块,HAL库和CubeMX配置。

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于stm32f407ve的HC-SR04超声波模块,HAL库和CubeMX配置。

HC-SR04模块有4个管脚,分别是VCC、GND、Trij、Echo。

 

 

原理:

启动超声波模块需要对Trij管脚进行拉高操作然后延时至少10us之后在拉低,此时超声波模块才能启动,并开始计时。启动之后超声波模块的一个向外发送8次40Khz的声波,如果超声波接收到了声波返回的信号之后此时Echo会拉高并停止计时,最后通过声波在空气中的速度,就可以计算距离。

时序图:

 

超声波在空气中大概速度:

计算公式:距离=(速度*时间)/2

声波从发送到接收是距离的两倍,所以我们需要除以2。

CubeMX的配置

选择自己的芯片型号:STM32F407VE

选择外部高速时钟:

 

配置时钟树:

 打开SYS选择下载方式:

 配置管脚:

 打开串口(可打开可不打开,可以查看实时数据)选择异步通信:

 打开定时器:

 

 

 生成程序:

 代码:

main里的代码:

#include "tim.h"
#include "stdio.h"









int fputc(int ch, FILE *f)//重定向
{
    while((USART1->SR & 0x40)==0);
    USART1->DR = (uint8_t) ch;
    return ch;
}





void for_delay_us(uint16_t nus)//微秒级延时(循环)
{
	uint16_t i;
	for(i=0;i 

结果:

 

 

 

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/868981.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号