Nein, der ist vermutlich nicht kaputt. Vielleicht kannst du das durch kalibrieren ausbügeln. In asuro.c am Ende der Funktion PollSwitch() steht eine Formel die den ADC-Wert umrechnet. Die sieht bei mir so aus:

Code:
	//return  ((unsigned char) ((( 1024.0/(float)i - 1.0)) * 61.0 + 0.5));
	//return ((10240000L/(long)i-10000L)*61L+5000L)/10000;
        return ((10240000L/(long)i-10000L)*63L+5000L)/10000;
also bei diesem programm empfange ich garnichts.
bei if(x) drehen die motoren, sendet aber nichts
Es wird nur etwas gesendet wenn mit PollSwitch() ein Wert eingelesen wird der keiner einzelnen Taste entspricht. Wenn man also mehr als eine Taste drückt oder eine Taste einen falschen Wert liefert (mehrfach drücken!) wird der Wert ausgegeben und die StatusLED wird rot. Der nächste gültige Wert schaltet sie dann wieder auf gelb, dabei wird aber nichts ausgegeben.