Damit hast du dir die Antwort ja schon selbst gegeben.
Du startest, die Motoren drehen, Taste nicht gedrückt, und damit läuft es in das letzte while und kann nicht mehr heraus.
Wenn du die Taste gedrückt hast, läuft nur ein Motor, dann wieder in das while usw.
Du musst die Programmteile so anlegen, das sie immer wieder durchlaufen werden.Code:#include "asuro.h" int main(void) { Init(); while (1){ MotorDir(FWD,FWD); MotorSpeed(250,250); StatusLED(GREEN); FrontLED(OFF); BackLED(OFF,OFF); while (PollSwitch()==0) { MotorDir(FWD,FWD); MotorSpeed(200,0); StatusLED(YELLOW); FrontLED(OFF); Sleep(255); BackLED(ON,ON); } return 0; }
Das if von "listner" finde ich besser lesbar.







Zitieren

Lesezeichen