Es ist nicht einfach es einem Nichtelektriker zu erklären:

Die Tastenwiderstände (R25-R30) werden durch die Taster in verschiedenen Kombinationen parallel zusammengeschaltet. Jede Kombination ergibt dabei einen einmaligen Wert (der nach den Regeln der Parallelschaltung kleiner als der kleinste Einzelwiderstand ist):

Bild hier  
Quelle: http://www.elektronik-kompendium.de/...lt/0110192.htm

Wie die Tasten dann eingelesen werden steht ja schon im wiki. Wesentlich ist, dass diese kombinierten Widerstände dann einen Spannungsteiler mit R24 bilden. Dieser Spannungsteiler zwischen PD3, PC4 und GND wird über ein High an PD3 gespeist, am ADC-Eingang PC4 wird dann eine der Tastenkombination entsprechende Spannung eingelesen. Durch die geschickte Staffelung der Widerstandswerte von R25-R30 kann PollSwitch() aus diesem Messwert dann die gedrückten Tasten errechnen.

Daraus folgt: Wenn ein Taster gedrückt wird, wirkt sein zugeordneter Widerstand in der Kombination mit, wenn er nicht gedrückt wird (oder fehlt!) wird sein Widerstand nicht berücksichtigt.

Wenn du ein Multimeter besitzen solltest: Im Widerstandsmessbereich bei ausgeschaltetem asuro muss man die Verbindung der GND-Pins der Taster messen können. Außerdem müssen die Messungen zwischen den anderen Tasterpins und PC4 (IC1 Pin27) jeweils die entsprechenden Widerstandswerte ergeben (R25-R30 haben nur 1% Fehler!)

Eine Unterbrechung der GND-Verbindung zwischen Taster 2 und 4 bzw. zwischen R26 und R28 scheint mir wahrscheinlich...

Viel Erfolg bei der Fehlersuche.

Gruß

mic