Other Parts Discussed in Thread: TMS320C6654
大家好 咨询下
在试UART的EDMA3发送 用的例程是STK_C6657\UART
edma3主要的设置如下:
gpEDMA_CC_regs[tpccNum]->PARAMSET[uartEdmaTxCh].OPT=
CSL_EDMA3_OPT_MAKE(CSL_EDMA3_ITCCH_DIS,
CSL_EDMA3_TCCH_DIS,
CSL_EDMA3_ITCINT_DIS,
CSL_EDMA3_TCINT_EN,
uartEdmaTxCh,
CSL_EDMA3_TCC_NORMAL,
CSL_EDMA3_FIFOWIDTH_NONE,
CSL_EDMA3_STATIC_DIS,
CSL_EDMA3_SYNC_A, //A-synchronized模式
CSL_EDMA3_ADDRMODE_INCR, //增量模式
CSL_EDMA3_ADDRMODE_INCR); //增量模式
gpEDMA_CC_regs[tpccNum]->PARAMSET[uartEdmaTxCh].A_B_CNT = 0x01000004; //ACNT=4 BCNT=256
gpEDMA_CC_regs[tpccNum]->PARAMSET[uartEdmaTxCh].DST= (Uint32)(&localUartRegs->THR);
gpEDMA_CC_regs[tpccNum]->PARAMSET[uartEdmaTxCh].SRC_DST_BIDX= 1;
gpEDMA_CC_regs[tpccNum]->PARAMSET[uartEdmaTxCh].LINK_BCNTRLD= 0xFFFF;
gpEDMA_CC_regs[tpccNum]->PARAMSET[uartEdmaTxCh].SRC_DST_CIDX= 0;
gpEDMA_CC_regs[tpccNum]->PARAMSET[uartEdmaTxCh].CCNT= 1; //CCNT=1
这个设置表示这个UART的传输是A-Synchronized Transfers ACNT=4 BCNT=256 CCNT=1
按照如下资料的描述 完成上面一次传输的话 一共可以传输ACNT*BCNT*CCNT=256*4*1=1024个字节
但实际上我的串口只收到了256字节的数据???
并且资料上说:In this example, a total of 12 sync events (BCNT × CCNT) exhaust a PaRAM set. 12个sync events是否对应12个edma3的中断了?
例程 按照资料的说法应该产生BCNT × CCNT=256个sync events
在KeyStone_UART_EDMA_ISR()中计数发现 实际上完成上述传输 只进了一次中断!!!