As previously mentioned, the 9th SCL pulse for any transferred address/data byte is reserved for the Acknowledge (ACK) sequence. During an Acknowledge sequence, the transmitting device relinquishes control of the SDA line to the receiving device. At this time, the receiving device must decide whether to pull the SDA line low (ACK) or allow the line to float high (NACK).
0), the value of ACKDT is copied to SDA (see figure below). When
I2CxCNT reaches a zero count (I2CxCNT = 0), the value of ACKCNT is
copied to SDA (see figure below). In most applications, the value of ACKDT should be
zero (ACKDT = 0), which represents an ACK,
while the value of ACKCNT should be one (ACKCNT = 1), which represents
a NACK.