找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2298|回复: 3
收起左侧

STM32超声波测距的计算问题

[复制链接]
ID:650067 发表于 2020-5-25 13:49 | 显示全部楼层 |阅读模式
请问一下大家,我用超声波模块测距,超声波模块是HC_SR04,但是我在计算距离有点问题请教大家,get counter获得的值不是要除以1000 000吗(转换成秒)再乘340/2得到距离吗,为什么我的程序除以1000 000通过串口打印的是0,改成除以100就可以,而且为什么我测出来的值是整数的?
我是STM32F103RCT6的。

主函数

主函数

超声波模块函数

超声波模块函数

配置定时器

配置定时器

project.7z

185.02 KB, 下载次数: 13

这是工程文件

回复

使用道具 举报

ID:682488 发表于 2020-5-25 16:07 | 显示全部楼层
你这个是求余,试试先把乘法放在前面;并且先不考虑单位问题,看看能不能出现想要的数字
回复

使用道具 举报

ID:98195 发表于 2020-5-25 19:49 来自手机 | 显示全部楼层
你定义没问题吧?int类型最大为65536   char为255
回复

使用道具 举报

ID:426480 发表于 2020-5-26 15:00 | 显示全部楼层
定义 n,T,V,X;
n:计数个数
T:定时器计时时间 50(ms)=0.05(s)
V:声速 340(m/s)
X:位移  (距离)
公式:n*T*V/2=X     //声波有来回,时间除以2  return TIM_GetCounter(TIM2)*0.05*34000(cm/s)/2
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表