Das Problem wird sein, dass du am Anfang zwar PollSwitch aufrufst, aber da wahrscheinlich noch kein Taster betätigt ist. Wenn er in die while Schleife kommt, wird der Wert von Taste nicht wieder aktualisiert. Das heißt er kommt weder in den if noch in den else if Zweig. Was mich wundert, ist allerdings warum er nicht losfährt, denn das machst du ja schon am Anfang.

Vielleicht solltest du die Ziele erst mal nicht so hoch stecken und den Inhalt der Zweige eher klein halten.

zB
Code:
while(1)
{
	taste = PollSwitch();
	if (taste == 1)
	{
		StatusLED(RED);
		FrontLED(ON);
		BackLED(OFF,OFF);
	}
	else if (taste == 2)
	{
		StatusLED(RED);
		FrontLED(OFF);
		BackLED(OFF,OFF);
	}
	else if (taste == 4)
	{
		StatusLED(GREEN);
		FrontLED(ON);
		BackLED(OFF,OFF);
	}
	else if (taste == 8)
	{
		StatusLED(GREEN);
		FrontLED(OFF);
		BackLED(OFF,OFF);
	}
	else if (taste == 16)
	{
		StatusLED(RED);
		FrontLED(ON);
		BackLED(ON,ON);
	}
	else if (taste == 32)
	{
		StatusLED(RED);
		FrontLED(OFF);
		BackLED(ON,ON);
	}
}
Und das Fahren erst später einbauen.
Das wüste Verwenden von Funktionen bringt da nicht viel. StartSwitch und StopSwitch ergeben nach dem was ich gerade im asurowiki gelesen habe nicht wirklich Sinn.

Ich habe zwar keinen Asuro, aber könnte mir vorstellen, dass auch mal mehr als ein Taster zur gleichen Zeit angesprochen wird. Das wird natürlich durch solche Abfragen nicht abgefangen.

sast