Hier ist meiner (bearbeiteten) code:

Code:
#include "asuro.h" 

int main() 
{ 
   Init(); 
    
   int i;

   char t1,t2,tasterzustand; 


   while(1) 
   { 
	 t1=PollSwitch();
         t2=PollSwitch();   /* zwei mal tasterwert messen fur stabiele wert */
         if (t1==t2)         /* sind die taster eindrucken stabiel?  */
             {
               tasterzustand=t1; /* ja ist es, tasterzustand ist erste messung */ 
             }
         else
             {
               tasterzustand=0;  /* nee, ist es nicht, tasterzustand ist 'kein taster' */
             }
         
	 if (tasterzustand==0)        /* Keine Kollision: 00000000 im binaire zahlung */ 
         { 
           StatusLED(GREEN); 

            MotorDir(FWD,FWD); 
            MotorSpeed(155,155);
            BackLED(OFF,OFF);    /* Ich gehe voraus, vieleicht sind die LEDs schon aus, aber tu es sonnst */ 

            for (i=0; i<50;i++) 
            { 
              Sleep (72); 
            } 
         } 

       
         else if (tasterzustand==1)    /* Taster rechts-außen wird gedrückt: 00000001 im binaire zahlung */ 
         { 
            StatusLED(RED); 
            
            MotorDir(RWD,RWD);         /* Rückwärtskurve rechts*/ 
            MotorSpeed(100,20); 
            BackLED(ON, OFF);    /* Meiner linken Rad dreht (schneller) rückwärts  */

            for (i=0; i<1000;i++)      /*1sekunde rückwärts fahren (1000mls) */ 
            { 
                  Sleep(72); 
            } 
      
            MotorDir(FWD,FWD);         /* Vorwärtskurve links*/ 
            MotorSpeed(20,100); 
            BackLED(OFF, OFF);    /* Gehe wieder vorwärts */

            for (i=0; i<500;i++) 
            { 
                 Sleep(72); 
            } 
         } 
    

         else if (tasterzustand=32)   /* Taster Links-außen wird gedrückt: 00100000 im binaire zahlung */
				      /* '>31' is xx1xxxxx im binaire zahlung, und nicht nur die ganz linker taster*/ 
         { 
            StatusLED(YELLOW); 
    
            MotorDir(RWD,RWD);         /* Rückwärtskurve links */ 
            MotorSpeed(20,100);
            BackLED(OFF, ON);    /* Meiner Rechter Rad dreht (schneller) rückwärts  */ 



            for (i=0; i<1000;i++) 
            { 
                 Sleep(72); 
            } 
      
            
            MotorDir(FWD,FWD);         /* Vorwärtskurve rechts */ 
            MotorSpeed(100,20); 
            BackLED(OFF, OFF);    /* Ich gehe wieder vorwärts*/
            
            for (i=0; i<500;i++) 
            { 
                 Sleep(72); 
            } 
         } 
    

         else                  /* Andere Taster werden gedrückt: 00xxxxxx im binaire zahlung */ 
         { 
            
            MotorDir(RWD,RWD);         /* Rückwärts fahren */ 
            MotorSpeed(100,100); 
            BackLED(ON,ON);        /* Beider Rädern drehen zurück */             
    
            for (i=0; i<1000;i++) 
            { 
                 Sleep(72); 
            } 
      
            
 
            MotorDir(RWD,FWD);         /* Drehung gegen UZS */ 
            MotorSpeed(100,100);
            BackLED(OFF,OFF);        /* Ich fahre nicht mehr zurück */   

            for (i=0; i<500;i++) 
            { 
                 Sleep(72); 
            } 
         } 
   } 

return 0; 
}
Edit von radbruch: if (t1==t2)