感觉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, &paramSet);

/* 配置PONG */

paramSet.destAddr = (uint32)g_secret_addr_1;

paramSet.linkAddr = (uint16)((RX_PAR_ID+1)*32);

EDMA3SetPaRAM(SOC_EDMA30CC_0_REGS, RX_PAR_ID, &paramSet);

/* 配置PING */

paramSet.destAddr = (uint32)g_secret_addr_0;

paramSet.linkAddr = (uint16)((RX_PAR_ID)*32);

EDMA3SetPaRAM(SOC_EDMA30CC_0_REGS, (RX_PAR_ID+1), &paramSet);