Einzelnes Bit eines Bytes abfragen ohne maskieren zu müssen

Hallo,

bei einem Array kann man ja ganz gezielt eine einzelne Stelle abfragen.

abfrage_pos05 = array[4]

Geht es ähnlich einfach auch für die Abfrage eines Bits, ohne aufwändig maskieren zu müssen?

Pseudocode:

abfrage_pos05 = abfragebyte[3 <<]

Abfrage des viertletzten Bits des Bytes abfragebyte.

Gruß Chris

Chris72622:
bei einem Array kann man ja ganz gezielt eine einzelne Stelle abfragen.

abfrage_pos05 = array[4]

Geht es ähnlich einfach auch für die Abfrage eines Bits, ohne aufwändig maskieren zu müssen?

Pseudocode:

abfrage_pos05 = abfragebyte[3 <<]

Abfrage des viertletzten Bits des Bytes abfragebyte.

In der Arduino-Software gibt es zum Bit-Handling vordefinierte Makros, die Du direkt verwenden kannst: bitRead, bitWrite, bitSet, bitClear.

Z.B. zum Lesen von Bit Nr. 3 in Variable abfrageVar:

byte bitVal= bitRead(abfrageVar,3)

http://arduino.cc/de/Reference/BitRead (Seite scheint bei mir momentan nicht zu laufen)

Super!

Dank Dir!

Gruß Chris