Acknowledge/Not Acknowledge
The receiver must always acknowledge each byte sent
in a data transfer. In the case of the slave-receiver and
master-transmitter, if the slave-receiver does not send
an acknowledge bit, the master-transmitter can either
STOP the transfer or generate a repeated START to start
a new transfer.
SDA
(SLAVE-RECEIVER)
SDA
(MASTER-TRANSMITTER)
SDA pulled LOW
by receiver
LSB
ACKNOWLEDGE
SDA left HIGH
by transmitter
SCL
8
(MASTER)
Figure 7. Slave-receiver acknowledge
9
ACKNOWLEDGE
CLOCK PULSE
In the case of the master-receiver and slave-transmitter,
the master generates a not acknowledge to signal
the end of the data transfer to the slave-transmitter.
The master can then send a STOP or repeated START
condition to begin a new data transfer.
In all cases, the master generates the acknowledge or
not acknowledge SCL clock pulse.
SDA
(SLAVE-TRANSMITTER)
SDA
(MASTER-RECEIVER)
SCL
(MASTER)
Figure 8. Master-receiver acknowledge
LSB
SDA left HIGH
by transmitter
SDA left HIGH
by receiver
NOT
ACKNOWLEDGE
8
9
ACKNOWLEDGE
CLOCK PULSE
P
Sr
STOP or repeated
START condition