
R8C/3GM Group
R01UH0284EJ0100 Rev.1.00
Aug 09, 2011
15.4
Notes on DTC
15.4.1
DTC activation source
Do not generate any DTC activation sources before entering wait mode or during wait mode.
Do not generate any DTC activation sources before entering stop mode or during stop mode.
15.4.2
DTCENi (i = 0 to 3, 5 to 6) Registers
Modify bits DTCENi0 to DTCENi7 only while an interrupt request corresponding to the bit is not generated.
When the interrupt source flag in the status register for the peripheral function is 1, do not modify the
corresponding activation source bit among bits DTCENi0 to DTCENi7.
Do not access the DTCENi registers using DTC transfers.
15.4.3
Peripheral Modules
Do not set the status register bit for the peripheral function to 0 using a DTC transfer.
When the DTC activation source is SSU/I2C bus receive data full, read the SSRDR register/the ICDRR
register using a DTC transfer.
The RDRF bit in the SSSR register/the ICSR register is set to 0 (no data in SSRDR/ICDRR register) by
reading the SSRDR register/the ICDRR register.
However, the RDRF bit is not set to 0 by reading the SSRDR register/the ICDRR register when the DTC data
transfer setting is either of the following:
- Transfer causing the DTCCTj (j = 0 to 23) register value to change from 1 to 0 in normal mode
- Transfer causing the DTCCRj register value to change from 1 to 0 while the RPTINT bit in the DTCCRj
register is 1 (interrupt generation enabled) in repeat mode
When the DTC activation source is SSU/I2C bus transmit data empty, write to the SSTDR register/the ICDRT
register using a DTC transfer. The TDRE bit in the SSSR register/the ICSR register is set to 0 (data is not
transferred from registers SSTDR/ICDRT to SSTRSR/ICDRS) by writing to the SSTDR register/the ICDRT
register.
15.4.4
Interrupt Request
No interrupt is generated for the CPU during DTC operation in any of the following cases:
- When the DTC activation source is SSU/I2C transmit data empty or flash ready status
- When performing the data transfer causing the DTCCTj (j = 0 to 23) register value to change to 0 in normal
mode
- When performing the data transfer causing the DTCCRj register value to change to 0 while the RPTINT bit in
the DTCCRj register is 1 (interrupt generation enabled) in repeat mode
15.4.5
DTC Chain Transfers
When performing chain transfers using several control data, the number of transfers set to the first control data
is enabled and the number of transfers proceeded after the first control data is disabled.
Examples:
When DTCCT0 = 5 and DTCCT1 = 10, chain transfers are performed as DTCCT0 = DTCCT1 = 5.
When DTCCT0 = 10 and DTCCT1 = 5, chain transfers are performed as DTCCT0 = DTCCT1 = 10.
When DTCCT0 = 10, DTCCT1 = 5, and DTCCT2 = 2, chain transfers are performed as DTCCT0 = DTCCT1
= DTCCT2 = 10.