工程师们,你们好,想通过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的话中断里边怎么判断