
C8051F040/1/2/3/4/5/6/7
252 Rev. 1.5
Table 19.1. SMB0STA Status Codes and States
Mode
Status
Code
SMBus State Typical Action
MT/
MR
0x08 START condition transmitted. Load SMB0DAT with Slave Address +
R/W. Clear STA.
0x10 Repeated START condition transmitted. Load SMB0DAT with Slave Address +
R/W. Clear STA.
Master Transmitter
0x18 Slave Address + W transmitted. ACK
received.
Load SMB0DAT with data to be transmit-
ted.
0x20 Slave Address + W transmitted. NACK
r
eceived.
Acknowledge poll to retry. Set STO +
STA.
0x28 Data byte transmitted. ACK
received.
1) Load SMB0DAT with next byte, OR
2) Set STO, OR
3) Clear STO then set STA for repeated
START.
0x30 Data byte transmitted. NACK received. 1) Retry transfer OR
2) Set STO.
0x38 Arbitration Lost.
Save current data.
Master Receiver
0x40 Slave Address + R transmitted. ACK received. If only receiving one byte, clear AA (send
NACK after received byte). Wait for
received data.
0x48 Slave Address + R transmitted. NACK
r
eceived.
Acknowledge poll to retry. Set STO +
STA.
0x50 Data byte received. ACK transmitted. Read SMB0DAT. Wait for next byte. If
next
byte is last byte, clear AA.
0x58 Data byte received. NACK transmitted. Set STO.