Bei jeder while-Schleife durchgang, gleich fur den switch(cmd), wird cmd immer auf 0 gesetzt. Weil du keine andere Funktion verwendet hast um cmd 'a' oder 'b' zu machen wird er da immer weiter fahren. Wie bekommst deine Asuro den 'a' oder 'b' zeichen/'wert'? Uber IR oder wird einer seiner taster angeprellt? Ich sehe keine Pollswitch, oder SerRead oder ähnliche funktion dafur verwendet.