电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
为什么单片机超声波测距程序中要乘以12?
已解决
73482
个问题
已帮助
5993
位优秀工程师
为什么单片机超声波测距程序中要乘以12?
edc0300acea9bd69
2020-06-09
浏览量:639
if(succeed_flag==1)
{
distance_data=outcomeH; //测量结果的高8位
distance_data<<=8; //放入16位的高8位
distance_data=distance_data|outcomeL;//与低8位合并成为16位结果数据
distance_data*=12; //因为定时器默认为12分频
distance_data/=58; //微秒的单位除以58等于厘米
} //为什么除以58等于厘米, Y米=(X秒*344)/2
// X秒=( 2*Y米)/344 ==》X秒=0.0058*Y米 ==》厘米=微秒/58
为什么 distance_data要乘以12,这跟定时器默认为12分频有什么关系吗?
显示全部
单片机
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
szy123
你用的是定时器是12分频的,是不是就是你所用的计数频率是参考频率的1/12,那么再做换算的时候,这个数值再乘过去,才能和实际值匹配。
发布于
2020-06-10
举报
评论 0
0
0
其他答案
数量:
5
莱克迷KW
定时器是12分频的啊,再计算长度时,就要把分的12倍再乘回来的
发布于
2020-06-10
举报
评论 0
0
0
chen0000009
这个要看你程序执行一次测量时的周期,因为这个条件的触发可能与定时器有关,定时器进行了分频的
发布于
2020-06-10
举报
评论 0
0
0
一笔之名也
你的这个是分频12倍后的,实际的时间要再乘以 12的
发布于
2020-06-11
举报
评论 0
0
0
明有几时有
注释里写的是很清楚 的了,是由于定时器进行了12分频的
发布于
2020-06-11
举报
评论 0
0
0
youand_me
这个时间是分频后的,要计算实际的时间,就要再把分频的倍数乘回来
发布于
2020-06-13
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
为什么单片机超声波测距程序中要乘以12?
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: