Hola adolfoadc.
Con un ejemplo lo entenderás.
CCS define la estructura:
struct lcd_pin_map { // This structure is overlayed
BOOLEAN enable; // on to an I/O port to gain
BOOLEAN rs; // access to the LCD pins.
BOOLEAN rw; // The bits are allocated from
BOOLEAN unused; // low order up. ENABLE will
int data : 4; // be pin B0.
} lcd;
para el siguiente orden:
E=B0 (D0)
RS=B1 (D1)
RW=B2 (D2)
D0=B4 (D4)
D1=B5 (D5)
D2=B6 (D6)
D3=B7 (D7)
Si quieres este orden:
D0=B0 (D0)
D1=B1 (D1)
D2=B2 (D2)
D3=B3 (D3)
E=B4 (D4)
RS=B5 (D5)
RW=B6 (D6)
Tendrías que definir la estructura así:
struct lcd_pin_map {
int data : 4;
boolean enable;
boolean rs;
boolean rw;
} lcd;
Además lo que escribí unos mensajes más arriba:
Con solo ese cambio no te funcionarIa.
Hace falta también cambiar:
STRUCT lcd_pin_map const LCD_READ = {0,0,0,0,15}; // For read mode data pins are in
por:
STRUCT lcd_pin_map const LCD_READ = {15,0,0,0,0}; // For read mode data pins are in
Obligatorio tener el pin RW conectado, si no, no va. Para eliminarlo habría que pensar un poco más ...
Lo pillas?