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