Hallo

Möglicherweise werden die Tastenwerte nicht richtig eingelesen, deshalb hier dein Programm mit Mehrfachabfrage der Tasten:
Code:
#include "asuro.h"

int main(void)
{
	unsigned int i;
	char taste1, taste2;

	Init();
	taste2=PollSwitch();

	while(1)
	{
		taste1=PollSwitch();

		if(taste1==taste2)
		{
			if(taste1==0)
			{
				StatusLED(YELLOW);
				MotorDir(FWD,FWD);
				MotorSpeed(122,120);
			}
			else if(taste1>7)
			{
				StatusLED(RED);
				MotorDir(RWD,RWD);
				MotorSpeed(122,120);
				for (i=0;i<560;i++){Sleep(255);}
				//MotorSpeed(0,0); // wirkungslos
				MotorDir(FWD,FWD);
				MotorSpeed(120,0);
				for(i=0;i<415;i++){Sleep(255);}
				//MotorSpeed(0,0);
			}
			else
			{
				StatusLED(RED);
				MotorDir(RWD,RWD);
				MotorSpeed(122,120);
				for (i=0;i<560;i++){Sleep(255);}
				//MotorSpeed(0,0);
				MotorDir(FWD,FWD);
				MotorSpeed(0,120);
				for(i=0;i<415;i++){Sleep(255);}
				//MotorSpeed(0,0);
			}
		}
		taste2=taste1;
	}
	return 0;
}
(ungetestet)

Gruß

mic