三、代码编写 创建HC-R04.c和HC-R04.h两个文件: HC-R04.h #ifndef_HC_SR04_H#define_HC_SR04_H#include"sys.h"#include"delay.h"#include"stm32f4xx_hal.h"voidHCSR04_Init(void);#defineTrig_ONHAL_GPIO_WritePin(GPIOC,GPIO_PIN_8,GPIO_PIN_SET)#defineTrig_OFFHAL_GPIO_WritePin(GPIOC,GPIO_P...
基于STM32的HC-SR04超声波测距模块实验 硬件环境 STM32F407探索板(其他开发板皆可以) HC-SR04超声波模块 软件环境 KEIL5 CUBEMX 串口调试助手(sscom或其他) 实验目标 了解HC-SR04超声波模块工作原理 实现超声波模块测距 1、超声波模块介绍 1.1 超声波测距原理及系统组成 超声波测距是借助于超声脉冲回波渡越时间法...
stm32 串口 定时器 软件编程 控制器/处理器 STM32-实现按键的长按与短按检测(其他单片机可移植)代码编写 星之援工作室 3753 06/21 09:23方案 基于STM32的简易交通灯proteus仿真设计(仿真+程序+设计报告+讲解视频) BT-BOX 5406 10/11 08:27方案
如上图所示,将HC-SR04.c文件添加,接着对GY906.h文件进行添加。 2、代码书写 首先引用头文件以及对串口1进行重映射,可以实现printf函数进行数据发送,代码如下所示: #include "stdio.h"#include "HC-SR04.h"//#include "Uart_printf.h"int fputc(int ch, FILE *f){uint8_t temp[1] = {ch};HAL_UART...
所以我们得到第一段代码。 voidWave_SRD_Strat(void){GPIO_SetBits(GPIOB,Trig);//将Trig设置为高电平delay_us(20);//持续大于10us触发,触发超声波模块工作GPIO_ResetBits(GPIOB,Trig);} 步骤2 该模块内部将 发出8 个40kHz 周期电平并 检测回波。一旦检测到有回波 信号则输出 回响信号。
使用的硬件:STM32F103C8T6,HC-SR04,ST-Link(其他烧录器也可以),0.96寸OLED屏幕(非必须,仅供显示测距结果,可以使用串口助手代替),若干杜邦线。 涉及操作stm32的GPIO口,外部中断,定时器,本文中不会详细解释,仅提供代码思路。 HC-SR04: HC-SR04超声波测距模块提供2cm~400cm的测距功能,精度达3mm。
STM32实现驱动 1.引脚的配置 2.时序控制 3.时间差测量 4.如何将距离测出来 超声波测距原理 利用HC-SR04超声波测距模块可以实现比较精确的直线测距,其测距原理图如下: HC-SR04的一端发出超声波,接触到反射物后反射,被另一个端口接收到,所以只要知道发射和接收的时间差,就可以根据声波传播的速率算出HC-SR04和反射...
Trig(触发信号输入)连接到STM32的一个GPIO输出引脚,用于发送触发信号。 Echo(回响信号输出)连接到STM32的一个GPIO输入引脚,用于接收回响信号。 GND 连接到STM32的地线。 2. 软件配置 2.1 初始化GPIO 在STM32 HAL库中,需要初始化与Trig和Echo引脚相连的GPIO端口。以下是一个初始化GPIO的代码示例: #include "stm...
代码语言:javascript 复制 #include"stm32f1xx_hal.h"#include"ssd1306.h"#defineTRIG_PINGPIO_PIN_0#defineECHO_PINGPIO_PIN_1#defineTRIG_PORTGPIOA#defineECHO_PORTGPIOAuint32_t distance=0;char display_buffer[16];voidSystemClock_Config(void);voidGPIO_Init(void);voidI2C_Init(void);voidUltrasonic_...
STM32F407写超声波传感器HC-SR04程序 1.给超声波模块接入电源和地。 2.给trig输入一个长为20us的高电平方波 3.输入方波后,模块会自动发射8个40KHz的声波,echo的电平会由0变为1 4.当超声波返回被模块接收到时,回波引 脚端的电平会由1变为0。定时器记下的这个时间即为超声波由发射到返回的总时长。