Pin-Abfrage Mikrocontroller

Gast #1715102
Lesenswert?

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!
Gast #1715108
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren