38 #define EEPROM 0xA0 //LC515 address assuming both address pins tied low.
42 void waitForWriteCompletion(
uint8_t u8_i2cAddr) {
44 u8_savedSWDTEN = _SWDTEN;
46 u8_i2cAddr = I2C_WADDR(u8_i2cAddr);
51 }
while (u8_ack == I2C_NAK);
52 _SWDTEN = u8_savedSWDTEN;
58 u8_AddrLo = u16_MemAddr & 0x00FF;
59 u8_AddrHi = (u16_MemAddr >> 8);
60 pu8_buf[0] = u8_AddrHi;
61 pu8_buf[1] = u8_AddrLo;
63 if (u16_MemAddr & 0x8000) {
65 u8_i2cAddr = u8_i2cAddr | 0x08;
67 waitForWriteCompletion(u8_i2cAddr);
75 u8_AddrLo = u16_MemAddr & 0x00FF;
76 u8_AddrHi = (u16_MemAddr >> 8);
78 if (u16_MemAddr & 0x8000) {
80 u8_i2cAddr = u8_i2cAddr | 0x08;
82 waitForWriteCompletion(u8_i2cAddr);
97 outString(
"\nEnter 'w' for write mode, anything else reads: ");
103 if (u8_Mode ==
'w') {
106 for (u8_i = 2; u8_i< BLKSIZE+2; u8_i++) {
111 memWriteLC515(EEPROM,u16_MemAddr, au8_buf);
112 u16_MemAddr = u16_MemAddr + BLKSIZE;
113 memWriteLC515(EEPROM,u16_MemAddr,au8_buf);
114 u16_MemAddr = u16_MemAddr + BLKSIZE;
116 memReadLC515(EEPROM,u16_MemAddr,au8_buf);
117 for (u8_i = 0; u8_i< BLKSIZE; u8_i++)
outChar(au8_buf[u8_i]);
118 outString(
"\nAny key continues read...\n");
120 u16_MemAddr = u16_MemAddr + BLKSIZE;