Due to design limitations, I have an address line for a memory controller split across 3 different ports of a PIC 18F4550. Mapping:
#define A0 PORTBbits.RB2
#define A1 PORTBbits.RB3
#define A2 PORTBbits.RB4
#define A3 PORTBbits.RB5
#define A4 PORTAbits.RA0
#define A5 PORTAbits.RÄ1
#define A6 PORTAbits.RÄ2
#define A7 PORTAbits.RÄ3
#define A8 PORTAbits.RÄ4
#define A9 PORTAbits.RÄ5
#define A10 PORTEbits.RE0
#define A11 PORTEbits.RE1
#define A12 PORTEbits.RE2
I would like to access this as one single variable ADDRESS, and have tried using a union to do it, but simply get a 'Syntax error' with:
union
{
struct
{
A0 :1;
A1 :1;
A2 :1;
A3 :1;
A4 :1;
A5 :1;
A6 :1;
A7 :1;
A8 :1;
A9 :1;
A10 :1;
A11 :1;
A12 :1;
};
} ADDRESS;
How do I go about doing this?