Der Fehler in diesem Programm dürfte wohl darin liegen, dass die Fahrtrichtung nur einmal, vor der while- Schleife auf Vorwärts gesetzt wird:
MotorDir(FWD,FWD);

Sobald man nun einmal einen Taster drückt, wird auf Rückwärtsfahrt umgeschaltet:
MotorDir(RWD,RWD);

Diese Richtung bleibt dann aber für immer, weil sie nie mehr auf Vorwärtsfahrt umgeschaltet wird.

Also müsste man hier noch was einfügen:
Code:
.
.
.
         if (t1==0) 
         { 
            LineData(data); 
            MotorDir(FWD,FWD);  // <====  diese Zeile muss rein
            if (data[0]>data[1]) 
            {MotorSpeed(120,80);} 
            else 
            {MotorSpeed(80,120);} 

         } // if
.
.
.
Gruß
Günther