Variable bitweise auslesen ???

Gast #182216
Lesenswert?

Hallo,

ich versuche jetzt schon über eine Stunde eine uint16_t bitweise
auszulesen, doch irgendwie gelingt mir das nicht. Habe es im gleichen
Stil versucht, wie auch die Ports ausgelesen werden ...

Hat jemand einen Tip für mich, wie das in Verbindung mit einer
If-Anweisung funktioniert, d.h. wenn ein bestimmtes Bit=1 dann
ausführen.

Leider kann ich keine & - Verknüpfung zwischen der Variable und einer
festen Zahl anwenden, da das Bit, welches ausgelesen werde soll, sich
ändert.

Sollte es gar nicht anders gehen: wie  funktioniert das bei avr-gcc mit
dem Bitschieben nach links oder rechts ?
Gast #182217
Lesenswert?

Wenn Du eine Bit_nummer_ (0..15) hast, die Du überprüfen willst, dann
lautet das Statement so:

  if (wert & (1 << bitnummer))
  {
  }

Das ist nichts gcc-spezifisches, das ist ganz banales C.

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