ich glaube ich habe den Fehler gefunden.

wie ich das weiß ist doch ODER = || und nicht |

Demnach müsste der Quellcode so heißen:

Code:
hallo#include "asuro.h"

int main(void)
{
   Init();
   int zeit;
   unsigned char taste;
   taste = PollSwitch();
   MotorDir(FWD,FWD);
   MotorSpeed(120,124);
   StatusLED(GREEN);
   FrontLED(ON);
   while (1){
   StartSwitch();
   StopSwitch();
   if (taste==1 || taste==2 || taste==4)
   {
   MotorSpeed(0,0);
   StatusLED(RED);
   BackLED(ON,ON);
   MotorDir(RWD,RWD);
   MotorSpeed(150,152);
   for(zeit=0;zeit<1000;zeit++){       
    Sleep(72);}
   BackLED(OFF,OFF);
   StatusLED(GREEN);
   MotorDir(FWD,FWD);
   MotorSpeed(180,0);
   for (zeit=0; zeit<500; zeit++){
   Sleep(72);}
   MotorSpeed(120,124);
   for(zeit=0;zeit<500;zeit++){       
    Sleep(72);}
   BackLED(OFF,OFF);
   StatusLED(GREEN);
   MotorDir(FWD,FWD);
   MotorSpeed(0,180);
   for (zeit=0; zeit<500; zeit++){
   Sleep(72);}
   MotorSpeed(120,121);
   }
   else if (taste==8 || taste==16 || taste==32)
   {
   MotorSpeed(0,0);
   StatusLED(RED);
   BackLED(ON,ON);
   MotorDir(RWD,RWD);
   MotorSpeed(150,152);
   for(zeit=0;zeit<1000;zeit++){       
    Sleep(72);}
   BackLED(OFF,OFF);
   StatusLED(GREEN);
   MotorDir(FWD,FWD);
   MotorSpeed(0,180);
   for (zeit=0; zeit<500; zeit++){
   Sleep(72);}
   MotorSpeed(120,124);
   for(zeit=0;zeit<500;zeit++){       
    Sleep(72);}
   BackLED(OFF,OFF);
   StatusLED(GREEN);
   MotorDir(FWD,FWD);
   MotorSpeed(180,0);
   for (zeit=0; zeit<500; zeit++){
   Sleep(72);}
   MotorSpeed(120,121);
   }
   }
}
Bitte korigieren wenn das falsch ist.