Was meinst die mit diese If abfrage?
Code:
if(ldata[0]>125,ldata[1]>125)
Versuch dich deine Code so zu schreiben, mit weitere tiefe einsprungen (Tab-Taste) bei jedes neue {} Code-block:
Code:
#include <asuro.h>
#include <myasuro.h>
int main (void)
{
int anzahlwiederholungen=0, i=6;
int ldata[2];
unsigned int data[2];
unsigned char t1, t2; <- ich weis nicht warum aber ohne das ";" am anfang wurde mir ein error angezeigt
Init();
FrontLED(ON);
LineData(ldata);
if(ldata[0]>125,ldata[1]>125)
{
while (1)
{
t1 = PollSwitch();
t2 = PollSwitch();
if (t1 == 0 && t2 == 0) /* keine Taste */
{
MotorDir(FWD,FWD); /* Rechtsbogen fahren */
MotorSpeed(150,120);
/* FrontLED(ON);
BackLED(OFF,OFF);*/
}
else if (t1 && t2 && t1 == t2)
{
MotorDir(BREAK,BREAK);
if (t1 & 0x07) /* Tasten links gedrückt? */
{
MotorDir(RWD,RWD); /* auf der Stelle umdrehen */
MotorSpeed(150,150);
/*FrontLED(OFF);
BackLED(ON,OFF);*/
}
if (t1 & 0x38 ) /* Tasten rechts gedrückt? */
{
MotorDir(FWD,FWD); /* Vorwärts Linkskurve */
MotorSpeed(100,150);
/* FrontLED(OFF);
BackLED(OFF,ON);*/
}
Msleep(1000); /* 1 Sekunde fahren */
}
}
}
else if(ldata[0]<125,ldata[1]<125)
{
while (anzahlwiederholungen<i)
{
MotorDir(BREAK,BREAK);
MotorSpeed(BREAK,BREAK);
StatusLED(GREEN);
BackLED(ON,OFF);
StatusLED(YELLOW);
BackLED(OFF,ON);
anzahlwiederholungen++;
}
}
else if(ldata[0]>ldata[1])
{
MotorDir(FWD,FWD);
MotorSpeed(175,125);
}
else if(ldata[0]<ldata[1])
{
MotorDir(FWD,FWD);
MotorSpeed(125,175);
}
return 0;
}
Das macht deine Code viel übersichtlicher.
Lesezeichen