Zitat Zitat von asuroer
ich glaube, ein fehler ist schon mal, dass du schreibst,{
StatusLED(GREEN);
}
und dannach schreibst du dann noch weiter an dieser funktion
MotorDir(FWD,FWD);
MotorSpeed(150,150);
BackLED(ON,ON);
FrontLED(ON);
obwohl du mit der geschweiften klammer nach dem StatusLED-Befehl die aktion schon beendet hast.
Nein, das passt schon so. Vom Sinn her ist das Programm richtig, aber in der Praktik leider oft unbrauchbar, da PollSwitch() oft (überhaupt am Start vom Asuro und dann später acuh) falsche Werte zurückgibt.
edit: Deine anderen 2 Vorschläge halt ich auch für unwahrscheinlich.

Versuch es mal ungefähr so:
Code:
int a,b;
a=PollSwitch();
b=PollSwitch();
if (a!=b) {a=0;b=0;} //falls die ungleich sind, dann ihnen 0 zuweisen
//jetzt mit einer der variablen vergleichen
Das Ganze musst du nur noch richtig in deinen Code einsetzen.

Suche mal im Forum danach, diese Probleme haben schon viele vor dir gehabt. :)