Originariamente inviato da linoma
E' corretto union? *_type che tipo sono?
sono tutti tipi definiti da me...

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;
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:
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