Hallo

Valen hat schon recht, bei deiner Version bleibt SerRead() in einer Endlosschleife hängen solange kein Zeichen empfangen wird. Ob man wirklich mit SerRead(message,1,1); prüfen muss, ob ein neues Zeichen angekommen ist, hängt vom restlichen Programm ab. Aber so ist SerRead() auf jeden Fall keine Endlosschleife mehr.

Ich habe dein Programm mal etwas umformatiert:

Code:
#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];

	Init();

/*
	x++;
	if (x > 1000)
		LANG++;
	if (x > 1000)
		x = 0;
*/
	while( 1 )
	{
		char message[] = "1";
	   SerRead(message,1,0);

	   if(message[0] == 'G')
	   {
			FrontLED(ON);
			{ // ein Block
				LineData(data);

	      	itoa (data[0], data0, 5);
	      	itoa (data[1], data1, 5);
	      	SerWrite (data0, 4);
	      	SerWrite (" links\n\r", 8);
	      	SerWrite (data1, 4);
	      	SerWrite (" rechts\n\r", 9);

	      	for (t=0; t < 2; t++)
	      	{
	         	Sleep (72);
	      	} // for
			} // ein Block

			{ // noch ein Block
				MotorDir(FWD,FWD);
				MotorSpeed(110,100);
				BackLED(OFF,OFF);

				if ( data[0] < 50 )
				{
					MotorDir(RWD,RWD);
					MotorSpeed(100,150);
					BackLED(ON,OFF);

					for(z=0 ; z < 40 ; z++)
					{
						Sleep(216);
					} // for
				} // if


				if ( data[1] < 50 )
				{
					MotorDir(RWD,RWD);
					MotorSpeed(100,150);
					BackLED(OFF,ON);

					for(z=0 ; z < 40 ; z++)
					{
						Sleep(216);
					} // for
				} // if
			} // noch ein Block

			if (PollSwitch() >= 1)
			{
				MotorDir(RWD,RWD);
				MotorSpeed(255,255);
				BackLED(OFF,OFF);
				StatusLED(RED);

				for(z=0 ; z < 100 ; z++)
				{
					Sleep(216);
				} // for
			} // if PollSwitch()
		} // if(message[0] == 'G')

		if(message[0] == 'S')
		{
			MotorDir(FREE,FREE);
			FrontLED(OFF); //Dieser Teil müste eigentlich so funktonieren oder
			StatusLED(OFF);
		} // if(message[0] == 'S')
		
	} // while( 1 )
	return 0;
} //main(void)
Ist quasi dein Programm mit geänderten Einrückungen/ Zeilenvorschüben.

Gruß

mic

P.S.: Vielleicht magst du das als Basis für weitere Versuche verwenden ;)