Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
Wenn die Zuordnung der Taster zu den jeweiligen Bits im Ergebniss von PollSwitch() nicht stimmt kann man das in der Datei asuro.c am Ende der Funktion PollSwitch() kalibrieren:
http://www.asurowiki.de/pmwiki/pmwiki.php/Main/Tasten
https://www.roboternetz.de/phpBB2/ze...=419056#419056
Trotz richtig kalibrierten Tasten können die Werte noch schwanken, deshalb sollte man das Ergebniss von PollSwitch() überprüfen:
Code:
sw1=PollSwitch();
sw2=PollSwitch();
if(sw1==sw2)
{
if(sw1 & 1) {} // K6
if(sw1 & 2) {} // K5
...
if(sw1 & 32) {} // K1
}
So funktioniert es nicht:
Code:
sw1 = PollSwitch();
sw2 = PollSwitch();
if ((sw1 & 0b000001) || (sw2 & 0b000001)){
StatusLED(RED);
}
Weil es für eine rote Statusled ausreicht, wenn entweder in sw1 oder in sw2 Bit0 gesetzt ist. Das ist z.B. auch bei der Kombination sw1=0b111111 und sw2=0 der Fall. Korrekt wäre diese Formulierung:
Code:
sw1 = PollSwitch();
sw2 = PollSwitch();
if ((sw1 & 0b000001) && (sw2 & 0b000001)){
StatusLED(RED);
}
Gruß
mic