|
Хочу создать битовые поля. Использую следующее :
typedef union __my_byte {
unsigned char c ;
struct {
volatile unsigned char bit_0:1;
volatile unsigned char bit_1:1;
volatile unsigned char bit_2:1;
volatile unsigned char bit_3:1;
volatile unsigned char bit_4:1;
volatile unsigned char bit_5:1;
volatile unsigned char bit_6:1;
volatile unsigned char bit_7:1;
} bits ;
} my_byte ;
my_byte byte1 ; // объявление переменной
void main( void) {
byte1.bits.bit0 = 1 ; // на эту строчку компилятор ругается
}
На попытку использовать битовое поле в байте компилятор выдает сразу две ошибки :
not a member of the struct/union
illegal conversion
Что здесь не правильно ? На что компилятор жалуется ?
E-mail: info@telesys.ru