Datasheet

Section 17 I
2
C Bus Interface (IIC)
Rev. 3.00 Sep. 28, 2009 Page 545 of 910
REJ09B0350-0300
Slave receive mode
End
Clear IRIC flag in ICCR
Clear IRIC flag in ICCR
Clear IRIC flag in ICCR
Set ACKB = 0 in ICSR
Read AASX, AAS and ADZ in ICSR
Read TRS in ICCR
Read IRIC flag in ICCR
Clear IRIC flag in ICCR
Clear IRIC flag in ICCR
Read ICDR
Read ICDR
General call address processing
* Description omitted
Set MST = 0
and TRS = 0 in ICCR
IRIC = 1?
No
Yes
Clear IRIC flag in ICCR
Set ACKB = 1 in ICSR
TRS = 1?
IRIC = 1?
Yes
Yes
No
Yes
No
AAS = 1
and ADZ = 1?
Read IRIC flag in ICCR
IRIC = 1?
ESTP = 1 or
STOP = 1?
No
Yes
No
[1] Initialization. Select slave receive mode.
[2] Read the receive data remaining unread.
[3] to [7] Wait for one byte to be received (slave address + R/W)
[10] Read the receive data. The first read is a dummy read.
[9] Set acknowledge data for the last reception.
[8] Clear IRIC flag
[5] to [7] Wait for the reception to end.
Slave transmit mode
Last reception?
No
No
Yes
Yes
Read ICDR, clear IRIC flag
No
Yes
Initialize IIC
ICDRF = 1?
[8] Clear IRIC flag.
[5] to [7] Wait for reception end.
[11] Detect stop condition.
[12] Check STOP bit.
[12] Clear IRIC flag.
[8] Clear IRIC flag.
[10] Read the receive data.
Figure 17.13 Sample Flowchart for Operations in Slave Receive Mode