Erstmal danke für den Vorschlag. Klang auf jeden Fall logisch. Jedoch funktionierte dies auch nicht ganz korrekt.
Ich hab es jetzt selbst soweit hinbekommen, dass es funktioniert.
Code:
...	
while(1){
		LineData(data);
		if (data [0] > 50 ) { 			// neben der linie
			SpeedLinks=33;
			SpeedRechts=175;
			MotorSpeed(SpeedRechts,SpeedLinks);
			if(!(SndBuf[0] == 'R')) {
				SndBuf[0]='R';
				SerWrite(SndBuf,1);
				
			}
		}
		else {						// Korrektur, um auf die Linie zurückzukommen
			SpeedLinks=175;
			SpeedRechts=33;
			MotorSpeed(SpeedRechts,SpeedLinks);
			if(!(SndBuf[0] == 'L')) {
				SndBuf[0]='L';
				SerWrite(SndBuf,1);
				
			}
		}
		Msleep(5);
...
Wichtig ist dabei das Msleep am ende. Ohne diesem Sendet er daten mehrmahls und auch falsch...
Am zweiten habe ich nichts verändert...
Nun funktioniert alles soweit wie ich es wollte. Lediglich dass die Geschwindigkeiten der beiden nicht richtig übereinstimmen...

vielen dank, Julian