This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC3200的DMA实现数据的memory-to-memory传输



工程师们,你们好,想通过CC3200的DMA实现数据的memory-to-memory传输

传输配置如下:

void SetupAutoDMATransferBuf(void * mono_pcm, void * stereo_pcm)

{

    //memset()

    UDMASetupTransfer(UDMA_CH0_SW,

                      UDMA_MODE_AUTO,

                      CB_TRANSFER_SZ,

                      UDMA_SIZE_16,

                      UDMA_ARB_8,

                      mono_pcm,

                      UDMA_CHCTL_SRCINC_16,

                      stereo_pcm,

                      UDMA_CHCTL_DSTINC_32);

}

并且注册传输完成中断,但在参考代码里发现DMA中断是这样的:

这样应该是注册了一个总中断,但如果注册了多个通道的DMA中断,怎么区分是哪个触发了DMA中断?

总之:我想在多个DMA通道被使用的前提下,想通过某一通道实现memory-to-memory的数据传输,并需要传输完成时做一定的事情,既需要注册传输完成中断。请问我应该怎么做?有没有相关参考例程(udma没有注册中断)?