Einzelnen Port abfragen

Gast #302019
Lesenswert?
• ▲
▼
Hi,
ich würde gerne wissen, wie ich einen einzelnen Port abfrage...
und zwar geht es leider nicht wie schon oft gehört mit
if(PIND.0 == 1)
tut leider nicht,
das brauche ich nähmlich, weil an PORTD0 und PORTD1 je ein taster sitzt
und ich abfragen will, ob beide gedrückt sind, daher kann ich folgendes
nicht machen, damit schliesst sich ja der andere port immer aus....
if((PORTD == 0b11111110) && (PORTD == 0b11111101))
damit geht es ja logischerweise nicht ...sieht man ja direkt !!!!
mhh also wie kann man nen einzelnen Port abfragen ?? :]
wär schön wenns mit
if((PORTD.0 == 0) && (PORTD.1 == 0))

Danke für eure Hilfe,
Stud
Gast #302021
Lesenswert?
• ▲
▼
oder binär:
if (!(PIND & ~0b11111100))...
oder auch if (!(PIND & 0b00000011))
Sollte also einer der beiden Pins nicht betätigt sein (also log. 1),
ist PIND & 0x03 != 0, was dafür sorgt, dass !(PIND & 0x03) == 0 ist,
womit im else zwei ein nicht betätigter Taster bearbeitet werden kann-.
Gast #302022
Lesenswert?
• ▲
▼
Hi,
danke für die schnelle Antwort,
aber was passiert, wenn noch ein schalter an PORTD4 sitz,
dann tritt folgender Fall ja auf oder auch if (!(PIND & 0b00001011))
aber ich kann ja nicht immer alle schaltstellungen berücksichtigen,
oder stört dieser port dann nicht ??

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.