20.5.4.5.2 Example Messages of Client Transmission
The client transmissions for 7-bit address messages are illustrated in Figure 20-36. When the address matches and the R/W status bit of the address indicates a client transmission, the module automatically initiates clock stretching by clearing the SCLREL bit and generates an interrupt to indicate that a response byte is required. The user software writes the response byte into the I2CxTRN register. As the transmission completes, the host responds with an ACK. If the host replies with an ACK, the host expects more data, and the module again clears the SCLREL bit and generates another interrupt. If the host responds with a NACK, no more data is required and the module will not stretch the clock, but will generate an interrupt.
The client transmissions for 10-bit address messages require the client to first recognize a 10-bit address. Because the host must send two bytes for the address, the R/W Status bit in the first byte of the address specifies a write. To change the message to a read, the host sends a Repeated Start and repeats the first byte of the address with the R/W status bit, specifying a read. At this point, the client transmission begins as illustrated in Figure 20-37. See Client Transmission (7-bit Address) and Client Transmission (10-bit Address) for application examples.