Hallo

Dein Programm wird genau einmal ausgeführt bevor es am Ende in der Endlosschleife vor dem return() steckenbleibt. So wäre es vielleicht besser:
Code:
#include "asuro.h"

int main(void)
{
	Init();
	while(1) // Start der Endlosschleife
	{
		if (PollSwitch() < 4)
		{
			MotorDir(RWD,RWD);
			MotorSpeed(120,120);
			MotorDir(FWD,BREAK);
			MotorSpeed(120,0);
			StatusLED(RED);
		}

		if (PollSwitch() >= 8)
		{
			MotorDir(RWD,RWD);
			MotorSpeed(120,120);
			MotorDir(BREAK,FWD);
			MotorSpeed(120,0);
		}
		else
		{
			MotorDir(FWD,FWD);
			MotorSpeed(120,120);
			StatusLED(GREEN);
		}
	} // Ende der Endlosschleife

	return(0);
}
In [ code][ /code]-Tags wäre dein Programm für uns übrigends besser lesbar. Auf die häufig lügende PollSwitch()-Funktion, die Anwendung von "else if" oder auf Zeitverzögerungen möchte ich hier noch nicht näher eingehen. Vielleicht findest du das alles noch selbst raus ;)

Gruß

mic