TI中文支持网
TI专业的中文技术问题搜集分享网站

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中断,发现需要在中断函数里判断是哪个通道上来的中断,才能进一步做处理,参考代码如图:

 

请帮忙就、以上所说的问题即:在memory-to-memory模式下,在传输完成中断函数里如何正确判断是我选择的memory-to-memory通道触发的中断,还有,关于音频里边的进一步判断,我是否需要?谢谢

 

gaoyang9992006:

http://www.ti.com.cn/cn/lit/ug/swru367c/swru367c.pdf

看的这个手册有一条关于0010寄存器

根据这个,貌似DMA的等待状态,都是在这个0x010

能否编译后定位那个获取状态的函数,看看里面的注释说的是比对什么

mortimersong:

回复 gaoyang9992006:

对啊,这个文档我也看过了,也没看出什么头绪来,不知道这些状态到底怎么一回事,如果是memory-to-memory的话中断里边怎么判断

赞(0)
未经允许不得转载:TI中文支持网 » CC3200 DMA传输问题(memory-to-memory)
分享到: 更多 (0)