#define LCD_RS LATCbits.LATC4 // RS = Register Select [lcd pin 04] pic pin 15
//#define LCD_RW LATCbits.LATC5 // RW = Read / Write [lcd pin 05] pic pin 16
#define LCD_En LATCbits.LATC6 // En = Enable [lcd pin 06] pic pin 17
//#define LCD_RS LATAbits.LATA4 // RS = Register Select [lcd pin 04] pic pin 6
#define LCD_RW LATAbits.LATA5 // RW = Read / Write [lcd pin 05] pic pin 7
//#define LCD_En LATAbits.LATA6 // En = Enable [lcd pin 06] pic pin 10
#define LCD_BF PORTCbits.RC3 // BF = Busy Flag [pic pin 14]
#define LCDdata2port LATC
void LCD_E (void)
{
LCD_En = 1;
LCD_En = 0; //data read into lcd on high to low transition of E
}
void LCD_busy (void)
{
TRISCbits.TRISC3 = 1; // When TRIS = 0 it's DB7, Tris = 1 it's lcd busy flag.
LCD_RW = 1;
LCD_En = 1;
while (LCD_BF);
LCD_En = 0;
LCD_RW = 0;
TRISCbits.TRISC3 = 0;
}