Hallo ruki,
die Bedingung "while (PollSwitch()==0)" ist zwar theoretisch richtig, aber praktisch funktioniert die Funktion PollSwitch() beim Asuro leider nicht zuverlässig. Besonders bei laufenden Motoren kann die auch mal einen Wert !=0 liefern, ohne, dass irgend ein Taster gedrückt wurde.
Um die Abfrage zuverlässiger zu machen, solltest du PollSwitch() mehrfach hintereinander abfragen und nur dann darauf reagieren, wenn sich die Werte nicht unterscheiden.
Also z.B.:
Code:
int t1=0;
while(1)
{
   t1= PollSwitch();
   if (PollSwitch()==0 &&  t1==0)
   {
      //mach was
   } else {
      //mach was anderes
   }
}