• Tut mir leid euch enttäuschen zu müssen, aber es funktioniert immer noch nicht.

    Code:
    #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); 
       } 
       }
       while(1);
       return(0);
    }
    Das einzige was passiert ist, dass die BackLED leuchten und die StatusLED grün leuchtet.

    Das Programm soll ja eigentlich so wirken, dass wenn er irgendwo antstößt zurückfährt, und je nachdem wie er sich gestoßen hat dreht (90°) kurz fährt wieder um 90° dreht (aber diesmal in die andere Richtung) und dann weiterfährt. Ohne die Idee mit einzelne Taster auslesen funktionierte es übrigens.

    Nun was soll ich machen?


Edit: Könnte es vielleicht an if hängen, da ich im anderen Programm(das funktioniert hat) while benutzt habe.