Ungetesteter Vorschlag:

Code:
#include "asuro.h"

int main(void)
{
	unsigned int lineData[2], STOP[2]; // Stopwert seitenabhängig verwalten

	FrontLED(ON); // Front LED an
	Sleep(10); // auch eine LED leuchtet nicht schlagartig

	LineData(lineData); // Dummylesung, weil die erste Lesung meist fehlerhaft ist
	LineData(lineData);

	STOP[0] = lineData[0]-20; // STOP wert Berechnen (links)
	STOP[1] = lineData[1]-20; // STOP wert Berechnen (rechts)

	while(1)
	{
		MotorDir(FWD,FWD); // vorwärts cruisen...
		MotorSpeed(180,180);
		BackLED(ON,ON);
		do
			LineData(lineData);
		while ((lineData[0] > STOP[0]) && (lineData[1] > STOP[1])); //solange bis der eingelesene wert dunkler wird als STOP

		MotorDir(RWD,RWD); // zurücksetzen
		MotorSpeed(255,255);
		BackLED(OFF,OFF);
		Msleep(5000);
		MotorSpeed(180,0);
		BackLED(OFF,ON);
		Msleep(2000);
		MotorSpeed(0,0);
	}
   return 0;
}