Hallo

PollSwitch() "lügt" gelegentlich, vor allem, wenn gleichzeitig die Motoren laufen stimmt der zurückgelieferte Wert nicht immer. Ein Ansatz das zu lösen wäre mehrere Werte mit PollSwitch() ermitteln und diese dann auf Gleichheit zu überprüfen:

https://www.roboternetz.de/phpBB2/ze...ag.php?t=36760
https://www.roboternetz.de/phpBB2/ze...ag.php?t=38949

Wenn es keine Rolle spielt, welche Taste gedrückt wurde, kann man den Tastenpin auch digital abfragen:

if(!(PINC & (1<<PC4))) ...

(aus http://www.arexx.com/forum/%76iewtopic.php?p=1319#p1319)

Wichtig sind natürlich saubere Lötstellen an den Tastern und die richtigen Widerstände (R23-30, 32). Wenn gar nichts mehr hilft kann man die Formel am Ende der Funktion PollSwitch() editieren (in asuro.c) und damit die Tasten kalibrieren:

http://www.asurowiki.de/pmwiki/pmwiki.php/Main/Tasten

Gruß

mic