开发板提供的例程不太明白,例程的目标是把xintf上的1024个数据通过DMA方式传输到RAM中
DMACH1BurstConfig(31,2,2); //Will set up to use 32-bit datasize, pointers are based on 16-bit words
DMACH1TransferConfig(31,2,2); //so need to increment by 2 to grab the correct location
DMACH1WrapConfig(0xFFFF,0,0xFFFF,0);
DMACH1BurstConfig(31,2,2); 这个我的理解是一次突发传输32个字,源地址指针地址加2(32位传输),目标地址也是加2,可以理解
DMACH1TransferConfig(31,2,2); 31代表有32次突发传输,后面的2就不理解了。。资料上说的是一次突发传输的增量,那我一次突发传输了32个字(1个字32位),那增量应该是64才对啊。。。
DMACH1WrapConfig(0xFFFF,0,0xFFFF,0);这个代表的是传输完后,源/目标地址的指针指向,那我的理解是传输完32*32=1024个字后,源地址指针指向0xFFFF,0代表下一轮dma开始的增量为0,目标地址指针也指向0xFFFF,0代表下一轮dma开始的增量为0。。。
具体是什么意思,能否有大神来解释下,谢谢了
|