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);*/
Lesezeichen