Hallo Doubleyou

Erstmal noch ein herzliches Willkommen im RN-Forum. Ich bin echt beeindruckt, was du alles findest, wenn du "Werd auch gleich im Inet danach schauen." machst.

Zu deinem Problem: Du hast zwar nun eine Überprüfung auf einzelne Werte, aber "doppelte" Tasten werden nicht abgefangen. Die Standartlösung sieht so aus:

if ((sw1 == sw2) && (sw1 == 0x01)) {

Gruß

mic

[Edit]
btw ist das natürlich Quatsch:

if (sw1 && sw2 & 0x01){

(sw2 & 0x01) ergibt true wenn in sw2 mindestens Bit0 gesetzt ist, auch wenn mehrere Bits gesetzt sind. Dieses true erklärst du dann für gültig wenn in sw1 irgendein Bit gesetzt ist.

Das hattest du vermutlich eh anders gedacht, oder hast du die Rangfolge der Funktionen beachten (quasi das punktvorstrich):

Bitweises & kommt vor logischem &&, d.h. deine Abfrage wird so ausgewertet:

if (sw1 && (sw2 & 0x01)){

du meintest aber vermutlich:

if ((sw1 && sw2) & 0x01){

Das macht dann die Abfrage auch nicht wesentlich besser. Wenn irgendwas in sw1 und irgendwas in sw2 steht, ist das Ergebniss true und du vergleichst dieses true (das der Compiler irgendwie speichert hat) dann bitweise mit 0b00000001...