sono tutti tipi definiti da me...Originariamente inviato da linoma
E' corretto union? *_type che tipo sono?
per quanto riguarda la pragma provo a vedere se c'è ancora qualcuno in facoltà che può fare le prove con l'hardware, altrimenti domani mattina ti dico come è andata... ti chiedo solo una cosa:codice:typedef union { uint16_t frequency; struct{ uint16_t counter :12; uint16_t unit :4; }flags; }frequency_type; typedef union { uint16_t time; struct { uint16_t minute : 6; /* 0 to 59 */ uint16_t hour : 5; /* 0 to 23 - 24hr format */ uint16_t padding : 4; uint16_t unset : 1; /* This bit indicate that current time was not set. */ } flags; } time_type; typedef union { uint16_t day; struct { uint16_t day : 5; /* 0 to 30 */ uint16_t month : 4; /* 0 to 11 */ uint16_t year : 6; /* 0 to 63 => 2000 to 2063 */ uint16_t unset : 1; /* This bit indicate that current day was not set. */ } flags; } day_type;
questa direttiva serve per l'allineamento in memoria... quindi se avessi messo ad esempio 8 ed io avessi una struttura da 10, questa viene portata automaticamente a 16, mentre con 1 non ci sono avanzi di byte, giusto? ho capito bene?
Ciao
Marco

Rispondi quotando