Table 3-1. Master Transmit Status Codes

 

 

 

 

 

Code

I2C State

 

Microprocessor Response

Next I2C Action

18h

Addr + W transmitted,

 

7-bit address:

 

 

ACK received

 

Write byte to DATA, clear IFLG

Transmit data byte, receive

 

 

 

OR

ACK

 

 

 

 

 

 

 

Set STA, clear IFLG

Transmit repeated START

 

 

 

OR

 

 

 

 

Set STP, clear IFLG

Transmit STOP

 

 

 

OR

 

 

 

 

Set STA & STP, clear IFLG

Transmit STOP, then START

 

 

 

10-bit address:

 

 

 

 

Write extended address byte to

Transmit extended address byte

 

 

 

DATA, clear IFLG

 

20h

Addr + W transmitted,

 

Same as code 18h

Same as code 18h

 

ACK not received

 

 

 

38h

Arbitration lost

 

Clear IFLG

Return to idle

 

 

 

OR

 

 

 

 

Set STA, clearIFLG

Transmit START when bus is free

68h

Arbitration lost,

 

Clear IFLG, AAK=0

Receive data byte, transmit not ACK

 

SLA + W received,

 

 

 

 

ACK transmitted

 

OR

 

 

 

 

Clear IFLG, AAK=1

Receive data byte, transmit ACK

78h

Arbitration lost,

 

Same as code 68h

Same as code 68h

 

general call addr

 

 

 

 

received, ACK

 

 

 

 

transmitted

 

 

 

B0h

Arbitration lost, SLA + R

 

Write byte to DATA, clear IFLG,

Transmit last byte, receive ACK

 

received, ACK

 

AAK=0

 

 

transmitted

 

OR

 

 

 

 

 

 

 

 

Write byte to DATA, clear IFLG,

Transmit data byte, receive ACK

 

 

 

AAK=1

 

14

Page 22
Image 22
Lantronix DSTni-EX manual 1. Master Transmit Status Codes, I2C State, Microprocessor Response, Next I2C Action