| static void BufferRxDMAActivate(unsigned int rxBuf, unsigned short parId,unsigned short parLink) { EDMA3CCPaRAMEntry paramSet; /* 复制默认参数集 */ memcpy(¶mSet, &rxDefaultPar, SIZE_PARAMSET - 2); /* 启用完成中断 */ paramSet.opt |= RX_DMA_INT_ENABLE; paramSet.destAddr = rxBufPtrL[rxBuf]; paramSet.destBIdx = rxBufPtrR[rxBuf] - rxBufPtrL[rxBuf]; paramSet.destCIdx = 2 + rxBufPtrL[rxBuf] - rxBufPtrR[rxBuf]; paramSet.cCnt = NUM_SAMPLES_PER_AUDIO_BUF; paramSet.linkAddr = parLink * SIZE_PARAMSET; EDMA3SetPaRAM(SOC_EDMA30CC_0_REGS, parId, ¶mSet); } |
这是我工程中EDMA3的参数设置,用来把MCASP传进来的立体声的左右声道分开。
其中的CIDX是这样设置的,不懂什么意思,另外在初始化中2改为3了。
不知道什么原因。
求解答