Hallo Programmiergemeinde

ich habe seit 1 woche mit dem programmieren des asuros begonnen und wollte heute ein programm entwerfen

der asuro soll vorwärts fahren bis er anstößt und dann etwa 2 sec rückwärts fahren um dann erneut nach vorne zu fahren

das programm von mir sieht so aus

Code:
#include "asuro.h"  

void warten(unsigned char zeit);

int main(void)
{
	//unsigned int i;
	unsigned char taste;
	unsigned int asd = 0;
	
	Init();
	MotorDir(FWD,FWD);
	MotorSpeed(150,150);
	warten(250);
	while(1)
	{
	
		taste = PollSwitch();
		
		if (taste!=0)
		{
			StatusLED(YELLOW);
			warten(100);
			asd = 1;
		}
		
		if(asd == 1)
		{
			StatusLED(GREEN);
			MotorDir(RWD,RWD);
			MotorSpeed(150,150);
			warten(500);
			MotorSpeed(0,0);
			asd = 0;
		}
		else 
		{
			StatusLED(RED);
			MotorDir(FWD,FWD);
			MotorSpeed(150,150);
		}
	}
	return(0);
}

void warten(unsigned char zeit)
{
	unsigned int i;
	for (i = 0; i < zeit; i++) 
	{
		Sleep(255);
	}
}
jedoch der asuro fährt nach vorne und beginnt dann nur noch rücktwärts zufahren und das compilieren zeigt keine weitern fehler mehr an

mfg