CMS32L051 User Manual |Chapter 16 Enhanced DMA
www.mcu.com.cn 595 / 703
(2) Example 2 of the use of normal mode: UART0 transmits continuously
DMA is started through a blank interrupt from UART0's send buffer, and the value of RAM is transferred to
UART0's send buffer.
200000B0H~200000BFH.
).
Figure 16-17 Example 2 of the use of normal mode: UART0 transmits continuously
internal handling automatically executed by DMA
DMABAR=20000000H
vector address (20000009H)=09H
DMACR12(200000B0H)=0004H
DMBLS12(200000B2H)=0001H
DMACT12(200000B4H)=0008H
DMSAR12(200000B8H)=20000400H
DMDAR12(200000BCH)=40041310H
DMAEN1=02H
start A/D conversion
transmit buffer empty interrupt
Yes
DMACT12=01H?
No
data transmit
No
generate A/D transmit buffer empty interrupt
DMAEN1=00H
data transmit
interrupt handling
Yes
UART0 transmit buffer
RAM
20000400H
2000040FH
Because it is in normal mode, the value of the DMRLD12 register is not used. However, when parity
error reset (RPERDIS=0) is allowed through the RAM parity error detection function, the DMRLD12
register must be initialized (0000H).
The first UART0 send must be started through the software. Start DMA with an empty interrupt from the
send buffer and then automatically send after the second time.