ch=SBUF;
switch(ch)
{
case 'f':
forward();
break;
case 'b':
back();
break;
case 'l':
turnLeft();
break;
case 'r':
turnRight();
break;
case 's':
stop();
break;
case 'o':
start();
break;
case 't':
isTrace=1;
break;
case '1':
pwm=20;
break;
case '2':
pwm=60;
break;
case '3':
pwm=100;
break;
default:
break;
}
}
void trace()
{
int dir;
if(in1==0&&in2==0&&in3==0&&in4==0)
dir=0;
else if (in1==1&&in2==0&&in3==0&&in4==0)
dir=2;
else if (in1==1&&in2==1&&in3==0&&in4==0)
dir=2;
else if (in1==1&&in2==1&&in3==1&&in4==0)
dir=0;
else if (in1==1&&in2==1&&in3==1&&in4==1)
dir=0;
else if (in1==0&&in2==1&&in3==0&&in4==0)
dir=2;
else if (in1==0&&in2==1&&in3==1&&in4==0)
dir=0;
else if (in1==0&&in2==1&&in3==1&&in4==1)
dir=1;
else if (in1==0&&in2==0&&in3==1&&in4==0)
dir=1;
else if (in1==0&&in2==0&&in3==1&&in4==1)
dir=1;
else if (in1==1&&in2==0&&in3==1&&in4==0)
dir=1;
else if (in1==1&&in2==1&&in3==1&&in4==0)
dir=2;
else if (in1==1&&in2==0&&in3==1&&in4==1)
dir=0;
else if (in1==1&&in2==0&&in3==0&&in4==1)
dir=0;
else if (in1==0&&in2==0&&in3==0&&in4==1)
dir=1;
else if (in1==1&&in2==1&&in3==0&&in4==1)
dir=0;
switch(dir)
{
case 0:
forward();
break;
case 1:
turnLeft();
break;
case 2:
turnRight();
break;
}
}