eZ80L92 MCU
Product Specification
146
Table 76. I2C 10-Bit Master Transmit Status Codes
2
2
Code I C State
MCU Response
Clear IFLG
Next I C Action
38h
Arbitration lost
Return to idle
Or set STA, clear IFLG
Transmit START when
bus free
68h
Arbitration lost,
SLA+W received,
ACK transmitted
Clear IFLG, clear AAK = 0
Or clear IFLG, set AAK = 1
Receive data byte,
transmit NACK
Receive data byte,
transmit ACK
B0h
D0h
Arbitration lost,
SLA+R received,
ACK transmitted
Write byte to DATA,
clear IFLG, clear AAK = 0
Transmit last byte,
receive ACK
Or write byte to DATA,
clear IFLG, set AAK = 1
Transmit data byte,
receive ACK
Second Address byte Write byte to DATA,
+ W transmitted,
ACK received
Transmit data byte,
receive ACK
clear IFLG
Or set STA, clear IFLG
Transmit repeated
START
Or set STP, clear IFLG
Transmit STOP
Or set STA & STP,
clear IFLG
Transmit STOP then
START
D8h
Second Address byte Same as code D0h
+ W transmitted,
Same as code D0h
ACK not received
If a repeated START condition is transmitted, the status code is 10h instead of 08h.
After each data byte is transmitted, the IFLG is 1 and one of the status codes listed in
Table 77 is in the I2C_SR register.
Table 77. I2C Master Transmit Status Codes For Data Bytes
2
2
Code I C State
MCU Response
Next I C Action
28h Data byte transmitted, Write byte to DATA,
Transmit data byte,
receive ACK
ACK received
clear IFLG
Or set STA, clear IFLG
Or set STP, clear IFLG
Transmit repeated START
Transmit STOP
Or set STA & STP,
clear IFLG
Transmit START then STOP
PS013015-0316
I2C Serial I/O Interface