hm, ich glaube dass die fahranweisung schon in eine while-schleife müsste, bei deinem letzten code, edh, läuft er ja nur einmal durch die if-anweisung und stoppt dann sofort wieder ab
(*edit: quatsch, habe mich verlesen, so müsst es klappen)

oder man löst es so:



Code:
 #include "asuro.h"

int main(void)
{
   Init();
   if(PollSwitch()==0){
      SerWrite("Los gehts!\n"10);
    }
   else{
   StatusLED(RED);
   SerWrite("Hinderniss!\n",11);
   }
while(PollSwitch()==0){
      MotorDir(FWD,FWD);
      MotorSpeed(150,150);
      StatusLED(GREEN);
      }
   MotorDir(BREAK,BREAK);
   MotorSpeed(0,0);
   Msleep(666);
   MotorDir(RWD,RWD);
   MotorSpeed(100,100);
   
while(1);
return(0);
   
   
}
aber warum kann man dann nicht gleich die while-schleife in die if-anweisung einbauen?
theoretisch müsste doch, wenn die if-anweisung zutrifft die while-schleife solange durchlaufen werden bis die bedingung nicht mehr zutrifft...