Hallo zusammen! Ich möchte mehrere Zustände an meinen Pins gleichzeitig abfragen. Ich habe vier Taster an P1.0-3. Diese sind active low, haben also je einen Pull-Up. Wenn ich jetzt gleichzeitig alle zusammen abfragen möchte, wie schreibe ich das am geschicktesten auf. Ich könnte ja: if ((!(P1IN & 0x01)) && (!(P1IN & 0x02)) && ...) Aber da gibt es doch bestimmt eine einfacherer Variante, oder? Ich komm nur nicht drauf, hab schon rumprobiert mit Bitmaskierungen, aber irgendwie bekomme ich das nicht auf die Reihe. Es geht um einen MSP. Vielen Dank!
Ich habe es so probiert: if (P1IN & (SW1 + SW2 + SW3 + SW4)) SW1 usw. sind vorher als 0x01 und so definiert. Nur wenn ich es so schreibe ist der Ausdruck ja auch wahr, wenn nur eines der ganzen wahr ist.
if ((P1IN & 0b00001111) == 0b00001010))... (wenn Taster 1 und 3 gedrückt sind und die anderen nicht)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.