typedef struct {
uint8_t staticS : 3;
uint8_t globalS : 5;
uint8_t b : 8;
uint8_t w1 : 8;
uint8_t w2 : 8;
}__attribute__((__packed__)) Fram;
Pomoci typeDef jsem vytvořil strukturu, která vlastně představuje 32 bitovou proměnou, v reálu tedy kopii něčeho jako hw registr.
Fungovat to funguje, použití
Fram fram;
fram.staticS = 0b111;
fram.w1 = 128;
Proč to sem vůbec píšu? fram.staticS nemůže být nic jiného než 0b111 a řádek fram.staticS = 0b111; je nadbytečný, Libilo by se mi pokud by staticS byla konstanta o hodnotě 0b111.
Jde to nějak?