Hier ist meiner (bearbeiteten) code:
Edit von radbruch: if (t1==t2)Code:#include "asuro.h" int main() { Init(); int i; char t1,t2,tasterzustand; while(1) { t1=PollSwitch(); t2=PollSwitch(); /* zwei mal tasterwert messen fur stabiele wert */ if (t1==t2) /* sind die taster eindrucken stabiel? */ { tasterzustand=t1; /* ja ist es, tasterzustand ist erste messung */ } else { tasterzustand=0; /* nee, ist es nicht, tasterzustand ist 'kein taster' */ } if (tasterzustand==0) /* Keine Kollision: 00000000 im binaire zahlung */ { StatusLED(GREEN); MotorDir(FWD,FWD); MotorSpeed(155,155); BackLED(OFF,OFF); /* Ich gehe voraus, vieleicht sind die LEDs schon aus, aber tu es sonnst */ for (i=0; i<50;i++) { Sleep (72); } } else if (tasterzustand==1) /* Taster rechts-außen wird gedrückt: 00000001 im binaire zahlung */ { StatusLED(RED); MotorDir(RWD,RWD); /* Rückwärtskurve rechts*/ MotorSpeed(100,20); BackLED(ON, OFF); /* Meiner linken Rad dreht (schneller) rückwärts */ for (i=0; i<1000;i++) /*1sekunde rückwärts fahren (1000mls) */ { Sleep(72); } MotorDir(FWD,FWD); /* Vorwärtskurve links*/ MotorSpeed(20,100); BackLED(OFF, OFF); /* Gehe wieder vorwärts */ for (i=0; i<500;i++) { Sleep(72); } } else if (tasterzustand=32) /* Taster Links-außen wird gedrückt: 00100000 im binaire zahlung */ /* '>31' is xx1xxxxx im binaire zahlung, und nicht nur die ganz linker taster*/ { StatusLED(YELLOW); MotorDir(RWD,RWD); /* Rückwärtskurve links */ MotorSpeed(20,100); BackLED(OFF, ON); /* Meiner Rechter Rad dreht (schneller) rückwärts */ for (i=0; i<1000;i++) { Sleep(72); } MotorDir(FWD,FWD); /* Vorwärtskurve rechts */ MotorSpeed(100,20); BackLED(OFF, OFF); /* Ich gehe wieder vorwärts*/ for (i=0; i<500;i++) { Sleep(72); } } else /* Andere Taster werden gedrückt: 00xxxxxx im binaire zahlung */ { MotorDir(RWD,RWD); /* Rückwärts fahren */ MotorSpeed(100,100); BackLED(ON,ON); /* Beider Rädern drehen zurück */ for (i=0; i<1000;i++) { Sleep(72); } MotorDir(RWD,FWD); /* Drehung gegen UZS */ MotorSpeed(100,100); BackLED(OFF,OFF); /* Ich fahre nicht mehr zurück */ for (i=0; i<500;i++) { Sleep(72); } } } return 0; }







Zitieren
Lesezeichen