Rev. 1.0, 07/01, page 248 of 372
TDRE=1 ?
Yes
Yes
No
Slave transmit mode
Clear AAS in ICSR
Write transmit data
in ICDRT
Read TDRE in ICSR
Last
byte?
Write transmit data
in ICDRT
Read TEND in ICSR
Clear TEND in ICSR
Clear TRS in ICCR1 to 0
Dummy read ICDRR
Clear TDRE in ICSR
End
[1] Clear the AAS flag.
[2] Set transmit data for ICDRT (except for the last data).
[3] Wait for ICDRT empty.
[4] Set the last byte of transmit data.
[5] Wait for the last byte to be transmitted.
[6] Clear the TEND flag .
[7] Set slave receive mode.
[8] Dummy-read ICDRR to release the SCL line.
[9] Clear the TDRE flag.
No
No
Yes
TEND=1 ?
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
Figure 15-19 Sample Flowchart for Slave Transmit Mode