找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1414|回复: 1
打印 上一主题 下一主题
收起左侧

单片机超声波测距程序中为什么是i等于3,感觉应该是i等于4?

[复制链接]
跳转到指定楼层
楼主
ID:316481 发表于 2020-6-9 20:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. distance[i]=distance_data; //将测量结果的数据放入缓冲区
  2.             i++;
  3. if(i==3)
  4.                        {
  5.                          distance_data=(distance[0]+distance[1]+distance[2]+distance[3])/4;



  6.            a=distance_data;
  7.        if(b==a) CONT_1=0;
  8.        if(b!=a) CONT_1++;
  9.        if(CONT_1>=3)
  10.                    { CONT_1=0;
  11.                           b=a;
  12.                           conversion(b);
  13.                         }      
  14.                            i=0;
  15.                            }            
  16.          }
  17. }
复制代码
这是超声波测距的部分程序,为什么if的条件是i等于3,那这样distance[3]不是还没赋值吗?如果是要求distance数组中距离的平均数,也应该是i==4作为判定条件呀.不知道这个if条件的作用是什么?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:774667 发表于 2020-6-10 09:41 | 只看该作者
对,这里应该改成if(i==4)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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