In deinem Thread auf das Arexx Forum habe ich geschrieben das entweder den Deklaration von de message 'Zeichenketten' oder den Standard-wert von SerRead (wann kein Zeichen empfangen wird) den eintrit von den if-abfragen verhindert. Aber nach weitere Gedanken bin ich sicher das den SerRead Befehl dein komplete Program Blockiert biss ein Zeichen empfangen wird. Dein Asuro reagiert nicht auf den Liniensensor weil er einfach nicht weiter als SerRead geht.(Eben wenn du doch den fehlende LineData(data); in dein Program geschrieben hatte.) Den 0 parameter am ende von SerRead meint das es immer warten bleibt biss irgendeiner Zeichen empfangen wird. Das es Forwärts oder Ruckwärts fahrt ist nicht ein Zeichen das es dauernt dein Code ablauft. Den Motoren drehen einfach dumm weiter.

Das soll besser gehen:

#include "asuro.h"
#include "stdlib.h"
int main(void)
{

int x=0,LANG=0,z=0,t=0;

unsigned int data[2];
char data0[5], data1[5];
char message[] = "1";

Init();

...

while( 1 )
{

SerRead(message,1,1); //1 Zeichen empfangen, weiter gehen nacht 1 Zeichen 'Zeitbasis'!

LineData(data); //Messe die Linienhelligkeit




if(message[0] == 'G')
...