感觉linkaddr没有用,第一次进中断,可以在收到20个正确的数据,但是继续给串口发数据就没有反应了,下面是配置代码,请高手指点:
EDMA3CCPaRAMEntry paramSet;
paramSet.srcAddr = (uint32)SOC_UART_1_REG;
paramSet.destAddr = (uint32)g_secret_addr_0;
paramSet,aCnt = 1;
paramSet,bCnt = 20;
paramSet,cCnt = 1;
paramSet,srcBIdx = 0;
paramSet,destBIdx = 1;
paramSet,srcCIdx = 0;
paramSet,destCIdx = 0;
/* RX_PAR_ID = 64 */
paramSet.linkAddr = (uint16)((RX_PAR_ID)*32);
paramSet.bCntReload = 20;
paramSet.opt |= ((EDMA3_CHA_UART1_RX << EDMA3CC_OPT_TCC_SHIFT) & EDMA3CC_OPT_TCC);
paramSet.opt |= (1 << EDMA3CC_OPT_TCINTEN_SHIFT);
EDMA3SetPaRAM(SOC_EDMA30CC_0_REGS, EDMA3_CHA_UART1_RX, ¶mSet);
/* 配置PONG */
paramSet.destAddr = (uint32)g_secret_addr_1;
paramSet.linkAddr = (uint16)((RX_PAR_ID+1)*32);
EDMA3SetPaRAM(SOC_EDMA30CC_0_REGS, RX_PAR_ID, ¶mSet);
/* 配置PING */
paramSet.destAddr = (uint32)g_secret_addr_0;
paramSet.linkAddr = (uint16)((RX_PAR_ID)*32);
EDMA3SetPaRAM(SOC_EDMA30CC_0_REGS, (RX_PAR_ID+1), ¶mSet);