标题: 单片机超声波测距程序中为什么是i等于3,感觉应该是i等于4? [打印本页]

作者: Cmz@    时间: 2020-6-9 20:56
标题: 单片机超声波测距程序中为什么是i等于3,感觉应该是i等于4?
  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条件的作用是什么?


作者: hqfdevil    时间: 2020-6-10 09:41
对,这里应该改成if(i==4)




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1