
ML62Q1000 Series User's Manual
Chapter 14
DMA
Controller
FEUL62Q1000
14-16
14.3.3 UART Continuous Transmission Using DMA Transfer
The following flow chart describes an example of UART continuous transmission using DMA transfer.
See Chapter 11 "Serial Communication Unit" for details of UART.
[Operation specifications]
・
UART transmission of 15 consecutive bytes using DMA channel 1
・
Use the serial communication unit 01 DMA request trigger for a transfer trigger
・
Transfer data in address 0xEFED to 0xEFFB of RAM to SD0BUFH of serial communication unit 0.
・
Transfer format: full-duplex communication mode, 115200 bps, 8-bit length, no parity, 1 stop bit
Figure 14-6 UART Continuous Transmission Flow Using DMA Transfer
DC1MOD = 0x0301; // Trigger the serial communication unit 01 trigger
// Transfer source: Increment address mode
// Transfer destination: Fixed address mode
DC1TN = 0x000F; // 15 times
Transmit DMA/UART
DC1EN = 1;
End
Data is transmitted with repetition of
DMA transfer for each serial
communication unit 01 DMA request
trigger until the transfer count reaches
the remaining 0.
Transfer mode setting
Transfer count setting
DMA interrupt generated after transfer is completed
DMA transfer enable
Interrupt status clear
DICLR1 = 1;
EDMA = 0; // DMA interrupt disable
Confirm the end of DMA channel 1
transfer with the DC1ISTA bit of the
DSTAT register
ESIU01 = 0;
// Serial communication unit 01 interrupt disable
QDMA = 0;
// Clear the DMA interrupt request bit
EDMA = 1:
// DMA interrupt enable
General-purpose port
setting
DC1SA = 0xEFED; // Transfer source RAM beginning address
DC1DA = 0xF601; // Transfer destination SD0BUFH address
Software trigger is
generated
DC1STRG = 1; // Generate software trigger, transfer data (first time)
Check transfer status
Interrupt setting
UART transmission
setting
UART transmission
stop enable
DMA end
processing
U00EN = 1;
Start UART
communication
UART transmission stop enable flag set
General-purpose port shared function setting
Output port setting
SU0MOD = 0x02;
// UART full-duplex communication mode
// Interrupt is generated at the end of transmission
UA00MOD = 0x00; // 8-bit length, no parity, 1 stop bit
UA00BRT = 0x0089;
UA00BRC = 0x06;
// 115200 bps@16 MHz
Hardware processing
Stop UART
transmission
enable flag = 1?
N
Y
End
DMA interrupt routine
U00EN = 0;
UART communication
stopped
Summary of Contents for ML62Q1000 Series
Page 17: ...Chapter 1 Overview...
Page 112: ...Chapter 2 CPU and Memory Space...
Page 154: ...Chapter 3 Reset Function...
Page 166: ...Chapter 4 Power Management...
Page 196: ...Chapter 5 Interrupts...
Page 248: ...Chapter 6 Clock generation Circuit...
Page 274: ...Chapter 7 Low Speed Time Base Counter...
Page 291: ...Chapter 8 16 Bit Timer...
Page 320: ...Chapter 9 Functional Timer FTM...
Page 382: ...Chapter 10 Watchdog Timer...
Page 402: ...Chapter 11 Serial Communication Unit...
Page 456: ...Chapter 12 I2 C Bus Unit...
Page 491: ...Chapter 13 I2 C Master...
Page 512: ...Chapter 14 DMA Controller...
Page 531: ...Chapter 15 Buzzer...
Page 550: ...Chapter 16 Simplified RTC...
Page 559: ...Chapter 17 GPIO...
Page 594: ...Chapter 18 External Interrupt Function...
Page 612: ...Chapter 19 CRC Generator...
Page 632: ...Chapter 20 Analog Comparator...
Page 644: ...Chapter 21 D A Converter...
Page 655: ...Chapter 22 Voltage Level Supervisor...
Page 676: ...Chapter 23 Successive Approximation Type A D Converter...
Page 709: ...Chapter 24 Regulator...
Page 714: ...Chapter 25 Flash Memory...
Page 743: ...Chapter 26 Code Option...
Page 750: ...Chapter 27 LCD Driver...
Page 788: ...Chapter 28 On Chip Debug Function...
Page 795: ...Chapter 29 Safety Function...
Page 813: ...Appendix A...
Page 881: ...Revision History...