28335的DMA 地址增量问题求助

2019-07-27 23:04发布

volatile Uint16 DMABuf1[1024];
volatile Uint16 DMABuf2[1024];

DMACH1AddrConfig(DMADest,DMASource);
DMACH1BurstConfig(31,2,2);      
DMACH1TransferConfig(31,2,2);
上边这种情况下,传输时选择的是32位的数据,地址是增加2  数据正常。

但是下边传输也显示正确结果 :传输数据选择的是16位
DMACH1BurstConfig(31,1,1);      
DMACH1TransferConfig(31,1,1);

不理解,请高手指教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
dieqiong94
2019-07-28 06:44
楼主你去仔细看看da就知道了,这里他一个字就是16位,你32位传输只是数据线上是32位传,不管你是16位传还是32位传,你一个burst里的word数都是算的是16位有多少个,1024(16位)=32transfer*32burst, 只要你决定要用32transfer,后面的burst肯定是32,后面的1,1和2,2的区别就是地址增量是1和2的区别,两者当然都是正确的,只不过传输时间不一样而已

一周热门 更多>