详细解释了如何通过STM32的定时器和输入捕获功能实现对Echo引脚的高电平脉冲监测。(1)首先,通过设置PA8为高电平来触发Trig引脚,这里我们给Trig引脚提供20ms的高电平以触发模块测距。对应的代码为:LED0=1; delay_ms(20); LED0=0;。(2)接下来,我们使用输入捕获模式来测量Echo引脚输出的高电平脉冲宽
HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测 距精度可达高到3mm,模块包括超声波发射器、接收器与控制电路。 基本工作原理:(1)采用 IO 口 TRIG 触发测距,给最少 10us 的高电平信呈。(2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;(3)有信号返回,通过 IO 口 ECHO 输出...
1: 设定定时器某通道为上升沿捕获,这样在t1时刻,就会捕获到当前值CNT值,然后马上清零,同时设置该...
测距 uint32_t sr04_get_distance(void){uint32_t t=0;//PB6输出高电平PBout(6)=1;//延时10usdelay_us(10);//PB6输出低电平PBout(6)=0;//PE6要等待高电平出现while(PEin(6)==0);//测量高电平的持续时间while(PEin(6)){t++;delay_us(9);//超声波每传输9us时间,距离为3mm}//因为该时间是...
芯片型号为stm32f103zet6,超声波测距后通过串口打印到电脑上面。 驱动和测距; //超声波测距#include"hcsr04.h"#defineHCSR04_PORT GPIOB#defineHCSR04_CLK RCC_APB2Periph_GPIOB#defineHCSR04_TRIG GPIO_Pin_5#defineHCSR04_ECHO GPIO_Pin_6#defineTRIG_Send PBout(5)#defineECHO_Reci PBin(6)u16 msHcCoun...
本文用的单片机是STM32F103C8T6,超声波测距模块是HC-SR04,显示测距结果用的是0.96寸OLED屏模块。 效果展示 下图中小于10cm时的显示结果有点问题,代码已修复并更新 修复后的结果: 视频演示:https://www.bilibili.com/video/BV1Sg411Z7ex/ HC-SR04硬件概述 ...
HC-SR04是一款广泛使用的超声波测距模块,它能够提供2cm至400cm的非接触式距离测量,精度高达3mm。本项目将介绍如何使用STM32微控制器通过HAL库来驱动HC-SR04模块,并附上详细的代码实现。 1. 硬件连接 HC-SR04模块通过三个引脚与STM32连接: VCC:连接到STM32的5V电源。 GND:连接到STM32的地线。 Trig(触发):连接...
基于STM32的测温湿、测距功能 一、设计目标 基于Cortex—M3架构的STM32F1芯片,开发了一套基于STM32的测温湿度、距离功能系统。 使用模块: LED模块、BEEP模块、BLE模块、超声波模块、温湿度模块 总体系统框图: 二、硬件部分 2.1 LED模块 LED模块内部包含了电源、发光二极管和电阻。
还可以使用中断方式进行测距, 大致框架如下, 有兴趣自行研究 //先开启对应引脚双边沿触发中断, 中断服务函数大致如下floatDistance;voidEXTI15_10_IRQHandler(void) {if(//发生中断){if(//上升沿){ TIM_SetCounter(TIM2,0);//清零计数器TIM_Cmd(TIM2, ENABLE);//使能定时器2,开始计数}if(//下降沿){ ...
实验目的:了解 STM32使用 cubeMX驱动超声波 。 实验:超声波测距。 一、超声波模块 HC-SR04 超声波测距模块可提供 2cm-400cm 的非接触式距离感测功能。有4 个引脚:VCC, GND, Trig(信号触发引脚),Echo(接收返回信号)。 当超声波发出一个信号时,信号碰到物体或阻碍后会立即返回。只要得到 信号往返传输的时间就...