Dein Programm läuft bis hierher
Code:
#include "asuro.h"

int main(void)
{
   Init();
   int zeit;
   unsigned char taste;
   MotorDir(FWD,FWD);
   MotorSpeed(120,124);
   StatusLED(GREEN);
   FrontLED(ON);
   while (1){
   taste=PollSwitch();
   if (taste==1 || taste==2 || taste==4)
   {
Das was nachher kommt wird nie aufgerufen.
Ich habe mir diese Programmwurst nicht genau angeschaut, aber die Schleife sollte schon bis ans Ende gehen. Das while am Ende ist, wie schon erwähnt, überflüssig.