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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.