小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 5944|回复: 4

关于超声波测距超过50cm的改写

[复制链接]
发表于 2016-4-22 18:07:48 | 显示全部楼层 |阅读模式
  1. uchar Get_Distance(void)
  2. {
  3.     uint32 Distance = 0;

  4.     Send_wave();
  5.     TH1 = 0;
  6.     TL1 = 0;
  7.         ms_count=0;
  8.         while(Echo!= 1);
  9.         TR1 = 1;    //开定时器1
  10.         while(Echo == 1);
  11.         TR1 = 0;
  12.         Distance = TH1;
  13.         Distance = Distance*256;
  14.         Distance = Distance + TL1;
  15.         Distance = Distance + ms_count*65535;
  16.         Distance = Distance * 17;
  17.         Distance = Distance / 22118;
  18.         return (uchar)(Distance);
  19. }

  20. void Timer_1(void) interrupt 3
  21. {         
  22.     ms_count++;
  23.         TH1     =   0x00;   
  24.     TL1     =   0x00;        
  25. }
复制代码
但是超过50厘米测距返回的数据还是不对  比如88厘米  Echo从高电平到低电平 应该溢出中断一次返回FF030058FF的 实际返回的是FF030026FF 刚好还是少50厘米 求高手指点 是小R的驱动板
回复

使用道具 举报

发表于 2016-4-23 11:03:23 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2016-11-8 11:49:05 | 显示全部楼层
谢谢楼主分享,我按照这个程序替换后,测试距离还是超不过50CM。大家有测试过吗
回复 支持 反对

使用道具 举报

发表于 2016-11-8 15:19:21 | 显示全部楼层
jy05393591 发表于 2016-11-8 11:49
谢谢楼主分享,我按照这个程序替换后,测试距离还是超不过50CM。大家有测试过吗

我们的程序有限制距离,50cm以内,你可以根据这个教程来改写增大距离:http://www.wifi-robots.com/thread-1911-1-1.html
回复 支持 反对

使用道具 举报

发表于 2016-11-8 16:19:26 | 显示全部楼层
发错帖子了,我就是按照这个http://www.wifi-robots.com/thread-1911-1-1.html代码修改后执行的,实际测出来的距离还是不大于50CM
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-5-2 08:27 , Processed in 1.082427 second(s), 23 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

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