Inter-Integrated Circuit Controller
7-95
MPU Public Peripherals
Figure 7–38. Master Receiver Mode, RM = 0, Interrupt
Start
Is
Bus free
(BB=0)
?
Write I2C_CON
with 8403h.
End
Read I2C_STAT.
No
Yes
Is
ACK returned
(NACK=0)
?
STT and STP are
cleared to 0 by hardware.
No
Yes
Reprogram
the registers.
STT = 1
(new start)
?
Yes
No
STP = 1
?
No
Are
n bytes
transferred
(ARDY=1)
?
Set appropriate values to every
bit of I2C_CON. I2C_EN bit must be set
to 1 to take I2C out of reset condition. Setting
I2C_EN and setting other mode bits can be done
simultaneously.
Yes
[EXPECTED COMMAND]
At the beginning,
(STT,STP) = (1.0), (1.1), (1.0), (1.1)
in the middle,
(STT, STP) = (0.0), (0.1)
At the end,
(STT, STP) = (0.1)
[EXPECTED I2C_IE]
I2C_IE = 11111b
Yes
Is
received data
in I2C_DATA
(RRDY=0)
?
No
No
Yes
Read I2C_DATA.
The I2C goes into slave receiver mode.
Read I2C_STAT.
Is
interrupt
received
?
No