stm32超声波扫频_求解 stm32 超声波测距 没出数据

本文介绍了使用STM32进行超声波测距的实现方法,包括USART3的初始化、GPIO配置、定时器TIM2的设置以及中断处理。通过发送和接收超声波信号,利用中断保存回响信号的溢出次数,从而计算出距离。代码中包含了测量距离的函数Hcsr04GetLength,该函数通过多次测量取平均值提高精度。
摘要由CSDN通过智能技术生成

[C] 纯文本查看 复制代码// USART3_TX PB10 发送

// USART3_RX PB1 接受

#include "usart_csb.h"

u16 msHcCount = 0;

//串口和GPIO初始化

void Hcsr04Init(void)

{

GPIO_InitTypeDef GPIO_Inittest;

TIM_TimeBaseInitTypeDef TIM_TimeBaseInittest;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);

// IO初始化

GPIO_Inittest.GPIO_Pin = GPIO_Pin_10; //发送电平引脚

GPIO_Inittest.GPIO_OType = GPIO_OType_PP; //推挽输出

GPIO_Inittest.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOB,&GPIO_Inittest);

GPIO_ResetBits(GPIOB,GPIO_Pin_10);

GPIO_Inittest.GPIO_Pin = GPIO_Pin_11; //返回电平引脚

GPIO_Inittest.GPIO_PuPd = GPIO_PuPd_NOPULL; //浮空输入

GPIO_Init(GPIOB,&GPIO_Inittest);

GPIO_ResetBits(GPIOB,GPIO_Pin_11);

//定时器TIM2初始化

TIM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值