Forum: Mikrocontroller und Digitale Elektronik einzelne Bits eines char auslesen


von Tobias (Gast)


Lesenswert?

Morgen zusammen!
Folgendes Problem stellt sich mir gerade! Ich habe eine Variable vom Typ 
char. In dieser Variable sind in den einzelnen Bits Informationen 
abgelegt.
Diese Informationen kommen von einem PC Programm ( nur am Rande ).
Jetzt möchte ich die einzelnen Infos aus dieser Variable herausziehen, 
habe aber keine lust mit && und den entsprechenden hex oder binär Werten 
zu verknüpfen. Gibt es eine Möglichkeit in C direkt auf einzelne Bits 
einer Variable zuzugreifen?
Wie z.B. if( Test.bit1 == 0 ) -> dann...

von Stefan B. (stefan) Benutzerseite


Lesenswert?

In C kannst du die Technik der Bitfelder (1) und die Technik der Union 
(2)zusammen benutzen, um die gewünschte Schreibweise zu realisieren.

(1) http://www.pronix.de/pronix-776.html
(2) http://www.pronix.de/pronix-772.html

von crazy horse (Gast)


Lesenswert?

prinzipiell gehts mit einer union recht komfortabel, allerdings ist es 
doch auch kein Akt mit entsprechender Maskierung:
#define Bit0 0x01
if( Test & Bit0) -> dann..  //wenn Test.Bit0 1 ist

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.