??? 03/23/10 02:52 Read: times |
#174411 - Unions and position of bytes |
Hi there
I know that this is not 8051 related but I have it on an C8051F040 so its sort of related. I have an array that I read from Flash of 6 bytes. and it is read into calendar_reg. this all works fine. Then when I want to access an individual byte within the array I wanted to be clever and define a union so that I could access a single element within the array. However The bytes are all mixed up when I access them, I assume that I have defined it incorrectly somehow but would like to know how. my array has [01 02 03 04 05 06] stored in it, and I wanted to access c.control which should have 06 in it but it has 01. typedef union CALENDAR{ unsigned char calendar_reg[CALENDAR_REGS]; unsigned char minutes; unsigned char hours; unsigned char date; unsigned char month; unsigned char year; unsigned char control; } CALENDAR; thoughts are appreciated. Regards Marshall |