Hallo,

ich hoffe, ich habe Deine Frage richtig verstanden. Hier ein Code-Beispiel unter Verwendung von Bitfields:

Code:
typedef struct {
    union{
        uint8_t byte;
        unsigned lower2bits: 2;
    };
} w2b;

w2b mybyte;
mybyte.byte=128;       //0x80
mybyte.lower2bits=7;   //0x07, aber nur die 2 LSBits (0x03) werden verwendet!
Du hast hier also eine Union aus 8 Bits (mybyte.byte) und den 2 LSBits (mybyte.lower2bits). Im Beispiel setze ich mybyte.byte zunächst auf 128, dann setze ich die niedrigsten 2 Bits auf 0x7 -- da aber nur Bits 0 und 1 verändert werden sollen, verschwindet das Bit 2. Im Endergebnis erhält man für mybyte.byte also 0x83=131 .

Gruß

Fred