Hallo zusammen,

ich bin dabei die ersten Programme für meinen Asuro zu erstellen und hänge nur leider gerade an einem Problem fest.

Ich möchte das der Asuro vorwärts fährt und wenn er auf ein Hindernis trifft (bemerkt durch die Taster K1 bis K6) den Rückwärtsgang für 2 Sekunden einlegt und dann
wieder vorwärts fährt. Mit diesen 2 Sekunden beim Rückwärtsfahren habe ich ein Problem was ich nicht verstehe. Nach einiger Zeit googeln habe ich zwei Methoden
versucht (for(i=0; i<2000; i++) Sleep(72); und Msleep(2000); ), beide bringen das selbe Ergebnis. Der Asuro fährt nach dem Einschalten sofort Rückwärts und reagiert auf nichts mehr. Sobald ich die Wartezeit wieder rausnehme, läuft er wieder einwandfrei.

Hat einer von Euch eine Idee, wo hier mein Wissens- oder Gedankenfehler liegt?

Code:
#include "asuro.h"
 
 int main(void)
{
	Init();
	
	while (1)
	{
		if (PollSwitch() > 0)
		{
			MotorDir(RWD, RWD);
			MotorSpeed(80, 80);
			StatusLED(RED);
//			Msleep(1000);
		}
		else
		{
			MotorDir(FWD, FWD);
			MotorSpeed(120, 120);
			StatusLED(GREEN);
		}
	}
	return(0);
}