Hallo Wsk8,
der ungleich-operator war das Problem!
Es bedurfte nur noch einer kleinen änderung an den Turn() Methoden, da in switch bei einer abfrage auf != 0 ein case 0: natürlich unsinnig ist!
So funktioniert es:
Code:
#include "asuro.h"

//Metoden
void TurnR (void);
void TurnL (void);

int main(void)
{
	//Inizialisieren
	Init();
	//Variablen
	unsigned char t1 = 0;
	unsigned char t2 = 0;
	unsigned char t3 = 0;
	// losfahren
	MotorDir(FWD, FWD);
	MotorSpeed(200, 200);
	//endlosschleife
	while(1)
	{
	  //tastenabfrage
	  t1 = PollSwitch();
	  Sleep(10);
	  t2 = PollSwitch();
	  Sleep(10);
	  t3 = PollSwitch();
	  //tastenauswertung
	  if ((t1 != 0) && (t1 = t2 = t3)) switch (t1){
	    case 32: TurnR(); break;
	    case 16: TurnR(); break;
	    case  8: TurnR(); break;
	    case  4: TurnL(); break;
	    case  2: TurnL(); break;
	    case  1: TurnL(); break;
	  };
	};
	//wegen int:
	return(0);
};

void TurnR (void)
{
  //variablen
  int i=0;
  //stueck zurueck
  MotorDir(RWD,RWD);
  for (i=0;i<50;i++)
    {Sleep(255);}
  //drehen
  MotorDir(FWD, RWD);
  for (i=0;i<50;i++)
    {Sleep(255);}
  BackLED(OFF,ON);
  MotorDir(FWD,FWD);
};

void TurnL (void)
{
  //variablen
  int i=0;
  //stueck zurueck
  MotorDir(RWD,RWD);
  for (i=0;i<50;i++)
    {Sleep(255);}
  //drehen
  MotorDir(RWD, FWD);
  for (i=0;i<50;i++)
	{Sleep(255);}
  BackLED(ON,OFF);
  MotorDir(FWD,FWD);
};
mfg Chrissi