Я начал сегодня программировать на PIC16f88 и обнаружил, что заголовок для его регистров содержит union
, который содержит только struct
:
extern volatile unsigned char ANSEL __at(0x09B);
typedef union {
struct {
unsigned ANS0 :1;
unsigned ANS1 :1;
unsigned ANS2 :1;
unsigned ANS3 :1;
unsigned ANS4 :1;
unsigned ANS5 :1;
unsigned ANS6 :1;
};
} ANSELbits_t;
extern volatile ANSELbits_t ANSELbits __at(0x09B);
Предоставляет ли он какие-либо преимущества для включенияstruct
внутри union
, который только содержит это struct
?
Его доступ, я думаю, будет точно таким же, как если бы это был простой struct
(потому что struct
является анонимным):
ANSELbits.ANS4 = 0;