Datasheet
PIC17C7XX
DS30289C-page 178 1998-2013 Microchip Technology Inc.
void ACKPoll(void)
{
StartI2C(); // Send start bit
IdleI2C(); // Wait for idle condition
WriteI2C(CONTROL); // Send control byte
IdleI2C(); // Wait for idle condition
// Poll the ACK bit coming from the 24LC01B
// Loop as long as the 24LC01B NACKs
while (SSPCON2bits.ACKSTAT)
{
RestartI2C(); // Send a restart bit
IdleI2C(); // Wait for idle condition
WriteI2C(CONTROL); // Send control byte
IdleI2C(); // Wait for idle condition
}
IdleI2C(); // Wait for idle condition
StopI2C(); // Send stop bit
IdleI2C(); // Wait for idle condition
return;
}
EXAMPLE 15-2: INTERFACING TO A 24LC01B SERIAL EEPROM (USING MPLAB C17)