Hallo xyphrox,

- 0x20 = 32, nicht 0x32 in Hexadezimal Schreibweise (2*16).
- Das wiederholte Aufrufen der PollSwitch() Funktion innerhalb der while Schleife, nicht nur einmal am Programmbeginn.
- Motorrichtung wieder zurück auf vorwärts schalten.

so sollte es eigentlich funktionieren:

Code:
#include "asuro.h"

int main(void)
{
  Init ();
     
  MotorDir(FWD,FWD);
  MotorSpeed(250,233);
  StatusLED(GREEN);
  FrontLED(ON);
  while(1)
  {   
     PollSwitch();
     PollSwitch();
     PollSwitch();
     PollSwitch();
     PollSwitch();
     PollSwitch();
     PollSwitch();
     if (PollSwitch() & 0x20)   // K1 gedrueckt
     {
        MotorDir(RWD,RWD);
        MotorSpeed(250,233);
     }
     else 
     {
        MotorDir(FWD,FWD);
        MotorSpeed(250,233);
     }
  }
  return 0;
}
Schön wäre es, wenn der Asuro ein Stück zurückfährt (zeitgesteuert) und dann wieder vorwärts.
Noch besser wenn er entsprechend der gedrückten Taster eine Kurve rückwärts fährt, um dem Hindernis auszuweichen.

Da solltest du aber selbst versuchen.

Ich empfehle dringend mal ein C-Tutorial durchzuarbeiten.

Gruß Peter