STM32F407学习笔记——HC-SR04模块(基本测距应用)
一、基本原理:
定义stm32的GPIO,给予Trig高电平(大于10us即可这里给予的是20us),再拉低发送超声波,超声波在碰到障碍物时返回被超声波模块接受,Echo输出高电平,通过定时器得出Echo高电平持续时间即可计算与障碍物之间的距离。
二、代码功能:
通过stm32控制超声波模块将测得的距离反馈在串口上。
三、接线:Trig——PA6 、Echo——PA7
四、代码部分:
HC-SR04.h
#ifndef _sr04_H
#define _sr04_H
#include "sys.h"
#define TRIG_Send PAout(6)
#define ECHO_Reci PAin(7)
float Senor_Using(void);
void TIM4_Int_Init(void);
#endif
HC-SR04.c
#include "HC-SR04.h"
#include "delay.h"
#include "math.h"
int overcount=0;
//GPIO及定时器设置
void TIM4_Int_Init()
{
GPIO_InitTypeDef GPIO_InitStruct;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);