HALF-amazing 发表于 2013-8-6 17:29:03

求助:arduino转化C51

void setup()                                                                           
{
Serial.begin(9600);
}                                                               
void loop()
{
int L,R,i1,i2;
i1=analogRead(analogPin1);
L=(6762/(i1-9))-4;
if(L<threshold&&L>0) //物体偏左
{
    while(1)
    {
      xx+=0.01;
      i2=analogRead(analogPin2);
      R=(6762/(i2-9))-4;
      if(R<threshold&&R>0) //向右移动??
      {
      while(1) //等待左边检测离开
      {
          i1=analogRead(analogPin1);
          L=(6762/(i1-9))-4;
          if(L>threshold&&L>0)
            while(1) //等待右边检测离开
            {
            i2=analogRead(analogPin2);
            R=(6762/(i2-9))-4;
             delay(20);
            if(R>threshold)
            {
               delay(20);

               //Serial.write(right);
                   if(xx>0&&xx<6)
               { //Serial.println('1');
                  Serial.write(3);
                }
               if(xx>6&&xx<12)
               {Serial.write(2);}
               if(xx>12)
               {Serial.write(1);}
               xx=0;
                delay(20);
                break;
            }
            }
          break;
      }
      }
else //放弃检
      {
      i1=analogRead(analogPin1);
      L=(6762/(i1-9))-4;
      if(L>threshold) break;
      }
    }
}
i2=analogRead(analogPin2);
R=(6762/(i2-9))-4;
if( R<threshold&&R>0) //物体偏右
{
    while(1)
    {
      xx+=0.01;
      i1=analogRead(analogPin1);
      L=(6762/(i1-9))-4;
      if(!L) break;
      if(L<threshold&&L>0) //向左移动??
      {
      while(1) //等待右边检测离开
      {
          i2=analogRead(analogPin2);
          R=(6762/(i2-9))-4;
          if(R>threshold)
            while(1) //等待左边检测离开
            {
            i1=analogRead(analogPin1);
            L=(6762/(i1-9))-4;
               delay(20);
            if(L>threshold)
            
            { delay(20);
         
                  //Serial.write(left);
                  if(xx>0&&xx<6)
               { Serial.write(6);}
               if(xx>6&&xx<12)
               {Serial.write(5);}
               if(xx>12)
               {Serial.write(4);}
                  xx=0;
                delay(20) ;
                break;
            }
            }
          break;
      }
      }
      else //放弃检??
      {
      i2=analogRead(analogPin2);
      R=(6762/(i2-9))-4;
      if(R>threshold) break;
      }
    }
}
}
求助大神

伯德 发表于 2013-8-7 12:40:23

就是用C在改写一次了?
页: [1]
查看完整版本: 求助:arduino转化C51