I have the same problem. I set the Uart2 as the source peripheral and SDRAM as the destination. In the meantime, use uart2 as the flow controller. According to what has been specified in the manual of lpc3250, if using a peripheral as the transfer flow controller, the TC interrupt will be triggered when a DMA request is sent. Also, the manual says that UART receive DMA request is sent if the amount of received bytes in the FIFO exceeds the receive FIFO trigger level. Everything seems very clear according to the manual, but in practice it cannot work. So what has to be pay attention to when I try to use a DMA to transfer data frames received of which the length is unknown in prior via UART2, and want to be informed when the transfer is done?
Hello hill_yi,
Does it complete DMA transfer when in UART receive processing?
Check the register TransferSize of DMA channel control registers .
Thanks for your answer. For I have already set TransferSize of DMA channel control registers. And it works well when I use dma to send data by ssp or uart(send data correctly and trigger the complete terminal count interrupt) . But when I use ssp or uart to receive data, it can receive data correctly(the data in buffer is right) but can not trigger the complete terminal count interrupt. As the configuration is similar,I wonder if there is something different between sending and reception?