Dieser Code hier funktioniert. Zuerst fährt er brav vorwärts, bei Kollision (also Drücken eines Kollisionsschalter) dreht sich auch ein Rad nach hinten. Jedoch bleibt er mir hin- und wieder in einer Schleife stecken, in der sich beide Räder nach vorne drehen oder zB auch nur eines nach hinten. Dann bleibt er mal komplett stehen und das Status-LED beginnt zu blinken. Einmal hat sich sogar das untere LED eingeschaltet, als er stehengeblieben ist.
Was passiert da?
Code:#include "asuro.h" int i; int main(void) { Init(); while(1){ if (PollSwitch()==0 && PollSwitch()==0) { MotorDir(FWD,FWD); MotorSpeed(200,200); BackLED(ON,ON); StatusLED (GREEN); } else { MotorDir(BREAK,BREAK); MotorSpeed(0,0); BackLED(OFF,OFF); StatusLED(RED); MotorDir(RWD,BREAK); MotorSpeed(150,0); } } return(0); } /*for(i=0; i<2000; i++) Sleep(72);*/







Zitieren

Lesezeichen