找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1491|回复: 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条件的作用是什么?

回复

使用道具 举报

ID:774667 发表于 2020-6-10 09:41 | 显示全部楼层
对,这里应该改成if(i==4)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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