Datasheet

Section 17 I
2
C Bus Interface (IIC)
Rev. 3.00 Sep. 28, 2009 Page 537 of 910
REJ09B0350-0300
Start
Initialize IIC
Set MST = 1 and
TRS = 1 in ICCR
Set BBSY =1 and
SCP = 0 in ICCR
Write transmit data in ICDR
Clear IRIC flag in ICCR
No
No
Yes
Yes
Yes
Yes
No
No
[1] Initialization
[3] Select master transmit mode.
[4] Start condition issuance
[6] Set transmit data for the first byte
(slave address + R/W).
(After writing to ICDR, clear IRIC flag
continuously.)
[9] Set transmit data for the second and
subsequent bytes.
(After writing to ICDR, clear IRIC flag
continuously.)
[2] Test the status of the SCL and SDA lines.
[7] Wait for 1 byte to be transmitted.
[10] Wait for 1 byte to be transmitted.
[11] Determine end of tranfer
[12] Stop condition issuance
[8] Test the acknowledge bit
transferred from the slave device.
[5] Wait for a start condition generation
Read IRIC flag in ICCR
Read ACKB bit in ICSR
IRIC = 1?
ACKB = 0?
Transmit mode?
Write transmit data in ICDR
Clear IRIC flag in ICCR
Read IRIC flag in ICCR
Read ACKB bit in ICSR
Clear IRIC flag in ICCR
End of transmission?
(ACKB = 1?)
Set BBSY = 0 and
SCP = 0 in ICCR
End
Read BBSY flag in ICCR
BBSY = 0?
Yes
No
Read IRIC flag in ICCR
IRIC = 1?
Yes
No
Yes
No
IRIC = 1?
Master receive mode
Figure 17.7 Sample Flowchart for Operations in Master Transmit Mode