Datasheet

Section 15 I
2
C Bus Interface (IIC)
Rev. 3.00 Sep. 28, 2009 Page 374 of 710
REJ09B0384-0300
Receive Operation Using the HNDS Function (HNDS = 1):
Figure 15.17 shows the sample flowchart for the operations in slave receive mode (HNDS = 1).
Slave receive mode
Read IRIC in ICCR
Clear IRIC in ICCR
Clear IRIC in ICCR
Read AASX, AAS and ADZ in ICSR
Read TRS in ICCR
Read IRIC in ICCR
Clear IRIC in ICCR
Clear IRIC in ICCR
Read ICDR
Read ICDR
Set ACKB = 0 in ICSR
and HNDS = 1 in ICXR
General call address processing
* Description omitted
Set MST = 0
and TRS = 0 in ICCR
IRIC
= 1?
No
Yes
Read IRIC in ICCR
Set ACKB = 1 in ICSR
IRIC
= 1?
No
No
Yes
Yes
TRS = 1?
IRIC
= 1?
Yes
Yes
No
Yes
No
AAS = 1
and ADZ = 1?
[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
[5] to [7] Wait for the reception to end.
[5] to [7] Wait for the reception to end.
or
[11] Detect stop condition
Slave transmit mode
Last reception?
Yes
No
No
ReadICDR, clear IRIC
No
Yes
Initialize IIC
ICDRF
= 1?
[8] Clear IRIC
[12] Check STOP
[8] Clear IRIC
[12] Clear IRIC
[10] Read the receive data.
End
Clear IRIC in ICCR
ESTP = 1 or
STOP = 1?
Figure 15.17 Sample Flowchart for Operations in Slave Receive Mode (HNDS = 1)