Lantronix DSTni-EX Benutzerhandbuch

Seite von 95
 
 
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