int main (void) { unsigned int n; InitPorts(); InitI2C(); ControlByte = 0xA0; LowAdd = 0x0C; HighAdd = 0x5A; Data = 0xAB; Length = 0x05; for(n = 0; n < PAGESIZE; n++) { PageString[n] = n; } while(1) { LATAbits.LATA0 = 1; LDByteWriteI2C(ControlByte, LowAdd, Data); HDByteWriteI2C(ControlByte, HighAdd, LowAdd, Data); HDPageWriteI2C(ControlByte, HighAdd, LowAdd, PageString); LDByteReadI2C(ControlByte, LowAdd, &Data, 1); HDByteReadI2C(ControlByte, HighAdd, LowAdd, &Data, 1); HDSequentialReadI2C(ControlByte, HighAdd, LowAdd, PageString, PAGESIZE); Nop(); LATAbits.LATA0 = 0; } }
/* Write 16 chars to LCD */ void dump_to_lcd() { unsigned short int i; unsigned char chr; for(i=0; i<16; i++) { /* Read from EEPROM */ HDByteReadI2C(0xA0, 0x00, i, &chr, 0x01); /* Write to LCD */ refresh_lcd(); send_to_lcd(chr, 0); wait_busy_lcd(); } }