История изменений
Исправление LINUX-ORG-RU, (текущая версия) :
Вот суть, допили под себя
typedef struct
{uint8_t a0:1;
uint8_t a1:1;
uint8_t a2:1;
}byte_t;
typedef union
{byte_t byte;
uint8_t mask;
}byte_u;
uint8_t byte_t_to_uint8(byte_t byte)
{ byte_t lb = {.byte=byte};
return lb.mask;
}
byte_t uint8_to_byte_t(uint8_t value)
{ byte_t lb = {.mask=value};
return lb.byte;
}
Исходная версия LINUX-ORG-RU, :
typedef struct
{uint8_t a0:1;
uint8_t a1:1;
uint8_t a2:1;
}byte_t;
typedef union
{byte_t byte;
uint8_t mask;
}byte_u;
uint8_t byte_t_to_uint8(byte_t byte)
{ byte_t lb = {.byte=byte};
return lb.mask;
}
byte_t uint8_to_byte_t(uint8_t value)
{ byte_t lb = {.mask=value};
return lb.byte;
}