#define _HC_SR04_H_ #include"stm32f1xx.h"#include"core_delay.h"typedef struct hc_sr04_device_st{GPIO_TypeDef*trig_port;uint16_t trig_pin;GPIO_TypeDef*echo_port;uint16_t echo_pin;TIM_HandleTypeDef*tim;//us级硬件定时器double distance;//测算距离}hc_sr04_device_t;/* us级延时函数 */#...
我这边用的是HC-SR04模块+STM32F103ZET6开发板+示波器,示波器是帮助分析用,可以验证设计和实际是否一致的工具,可以不要。开发板也只是起一个连接串口调试助手,产生PWM以及输入捕获的一个功能,并不一样要和我一样的开发板,理论上任何一个开发板都可以实现这个功能。 2.2软件知识 要用上面这套工具实现超声波测距的...
* @param hc_sr04_device the pointer of the hc_sr04_device_t object * @return none */ staticvoidHC_SR04_Start(hc_sr04_device_t*hc_sr04_device) { /* output high level */ HAL_GPIO_WritePin(hc_sr04_device->trig_port,hc_sr04_device->trig_pin,GPIO_PIN_SET); /* maintain high level ...
PWM频率=72000/(899+1)=80KhzTIM5_Cap_Init(0XFFFF,72-1);//以1Mhz的频率计数while(1){delay_ms(10);// TIM_SetCompare2(TIM3,TIM_GetCapture2(TIM3)+1);TIM_SetCompare2(TIM3,63);if(TIM_GetCapture2(TIM3)==300)TIM_SetCompare2(TIM3,0);if(TIM5CH1_CAPTURE_STA&0X80)//成功捕获到了一次...
一、工作原理 输入捕获是STM32单片机定时器的一项重要的功能,应用很广泛,常用于测量脉冲宽度,周期等。 超声波模块测距的原理是:单片机给超声波模块(我用到的超声波模块型号是HC-SR04,下面简称HC-SR04)发送一个大于10us的高电平,触发HC-SR04发出8个40kHz的方波,并自
实验中所实验的 HC-SR04超声波模块主要是由两个通用的压电陶瓷超声传感器,并加外围信号处理电路构成的...
摘要:一、工作原理 输入捕获是STM32单片机定时器的一项重要的功能,应用很广泛,常用于测量脉冲宽度,周期等。 超声波模块测距的原理是:单片机给超声波模块(我用到的超声波模块型号是HC-SR04,下面简称HC-SR04)发送一个大于10us的高电平,触发HC-SR04发出8个40kHz的方波,并自动检测是 阅读全文 ...
HC-SR04超声波模块 ①网上大部分采取的计数思路是,定义一个变量Time,只要ECHO引脚变成高电平,就利用定时器溢出中断,就Time++,这样就获得了高电平时间:Time*计数器自增时间。另外写一个计算距离的函数,放到while里一次一次读,得到最终的数据。 ②本方法用的思路是借鉴了PWMI测量占空比的思路,放在中断里全自动读取并...
4.1.3 HC-SR04 测距原理 HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,HC-SR04模块性能稳定,测度距离精确,能和国外的SRF05、SRF02等超声波测距模块相媲美。模块高精度,盲区(2cm)超近,测距精度可达3mm(这个是厂家介绍,一般测距要3cm以上,精度有时要到达5-6mm),包括发射器、接收器与控制电路,它...
STM32F103ZET6超声波测距(hcsr04模块) 实验一、硬件连线图接线描述:1.供电采+5V,我试了下+3V也是可以的2. 注意Trig引脚跟Echo引脚不要接错;二、hcrs04模块测距原理(1)采用IO口TRIG触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出...