This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

question for mibspi dma

hello Ti:

I want to send more than 128 bytes of data once

Please tell me how to set ?


In addition, I can not understand about send number or dma.

Follow is my code for send less than 128 bytes of data, it work well

Why the active send number is "length",not icount of DMACTRL.

DMA using can not been understand well, please explain a little more,thanks!

dmaConfigCtrlTxPacket((uint32)(sendbuf),
(uint32)(&(mibspiRAM1->tx[0].data)),
length);
dmaSetCtrlPacket(DMA_CH0,g_dmaCTRLPKT);
dmaConfigCtrlRxPacket((uint32)(&(mibspiRAM1->rx[0].data)),
(uint32)(&SPI_RX_DATA),
length);
dmaSetCtrlPacket(DMA_CH1,g_dmaCTRLPKT);
dmaSetChEnable(DMA_CH0, DMA_HW); //tx
dmaSetChEnable(DMA_CH1, DMA_HW); //rx
mibspiREG1->DMACTRL[0] = 0 << 31 // ONESHOT
| 0 << 24 // BUFID
| 1 << 20 // RXDMA_MAP
| 0 << 16 // TXDMA_MAP
| 1 << 15 // RXDMAENA
| 1 << 14 // TXDMAENA
| 0 << 13 // NOBRK
| 0 << 8; // ICOUNT
mibspiTransfer(mibspiREG1,0);