Code:
LineData(lineData);
bewirkt, dass die aktuellen Werten der beiden Fototansistoren des Linienfolgers in die Variable lineData geschrieben werden.
Diese ist als
Code:
unsigned int lineData[2];
deklariert und das bedeutet, dass sie eigentlich aus zwei Speicherplätzen besteht: lineData[0] und lineData[1]. Somit steht nach
LineData(lineData); der Wert des linken Fototransistors in lineData[0] und der Wert des rechten in lineData[1].
In obigem Programm wird mit
Code:
ADOffset = lineData[0] - lineData[1];
zuerst der Unterschied der beiden Fototransistoren festgestellt und dann in der Endlosschleife mit
Code:
LineData(lineData); 
i = (lineData[0] - lineData[1]) - ADOffset;
jeweils der tatsächliche Unterschied abzüglich des ursprünglichen Unterschieds festgestellt.
Wenn dieser Unterschied größer als 4 ist, wird die Funktion LineLeft() ausgeführt, wenn er kleiner ist als -4 wird LineRight() ausgeführt und sonst fährt er einfach weiter geradeaus.

Ich hoffe, dass es jetzt einigermassen verständlich geworden ist, was LineData() macht.

Gruß
Günther