Hallo

Aber woran könnte des liegen, dass der sich einfach so mal erhängt?
Möglicherweise daran, dass du die Anzahl der Zeichen für SerWrite() falsch angegeben hast:

Code:
#include "asuro.h"

int main(void)
{
	int i;

	Init(); // nach Init() ist die StatusLED grün
	// StatusLED(RED);
	SerWrite("Programm wird gestartet\n\r", 25); // richtige Anzahl der Zeichen ist wichtig!
	for (i=0; i<1000; i++)
	{
		Sleep(216);
	}
	SerWrite("GOO!!\n\r", 7); // \n\r bedeutet Neue Zeile und Wagenrücklauf
	BackLED(ON,ON);
	MotorDir(FWD,FWD);
	MotorSpeed(255,230);
	StatusLED(YELLOW); // Anzeige "Fahren"

	while(1)
	{
		if(PollSwitch() > 0)
		{
			MotorSpeed(0,0);
			SerWrite("Shit happens\n\r", 14);
			StatusLED(RED); // Anzeige "
			while(1); // endlos warten (oder Programmende)
		}
	}
	return(0); // ohne meckert der Kompiler
}
Gruß

mic