typedef union
{
uint8_t byte;
struct
{
uint8_t bit_0:1;
uint8_t bit_1:1;
uint8_t bit_2:1;
uint8_t bit_3:1;
uint8_t bit_4:1;
uint8_t bit_5:1;
uint8_t bit_6:1;
uint8_t bit_7:1;
}bits;
}err_bit_union;
err_bit_union *p_err;
err_bit_union err_var;
int main(void)
{
p_err = &err_var;
p_err->bits.bit_0 = 0;
p_err->bits.bit_1 = 1;
while(1);
}
编译环境keilAC5的C99模式下,用联合体指针对联合体的位域进行赋值操作