Servicing the interrupt – Lantronix DSTni-EX User Manual

Page 23

Advertising
background image

15

Servicing the Interrupt
After servicing this interrupt, and transmitting the second part of the address, the Status register
contains one of the codes in Table 3-2.

Note:

If a repeated START condition transmits, the status code is 10h instead of 08h.

Table 3-2. Codes After Servicing Interrupts (Master Transmit)

Code

I

2

C State

Microprocessor Response

Next I

2

C Action

38h

Arbitration lost

Clear IFLG

OR


Set STA, clear IFLG

Return to idle



Transmit START when bus free

68h

Arbitration lost,
SLA + W received,
ACK transmitted

Clear IFLG, AAK=0

OR


Clear IFLG, AAK=1

Receive data byte, transmit not ACK



Receive data byte, transmit ACK

B0h

Arbitration lost,
SLA + R received,
ACK transmitted

Write byte to DATA, Clear IFLG,
AAK=0

OR

Write byte to DATA, Clear IFLG,
AAK=1

Transmit data byte, receive ACK




Transmit data byte, receive ACK

D0h

Second Address byte +
W, transmitted ACK
received

Write byte to DATA, clear IFLG

OR

Set STA, clear IFLG

OR

Set STP, clear IFLG

OR

Set STA & STP, clear IFLG

Transmit data byte, receive ACK



Transmit repeated START



Transmit STOP



Transmit STOP, then START

D8h

Second Address byte +
W, transmitted ACK
received

Same as code D0h

Same as code D0h

Advertising