Hi All,
I need help with configuring the MibSPI3 to raise the BTC interrupt after every DMA TX. I enabled the BTC during TX DMA but no interrupt was received. Please see my code below:
mibSpi3DmaTx[0].SADD = (uint32) buffer;
mibSpi3DmaTx[0].DADD = (uint32) &(mibspiRAM3->tx[4].data);
mibSpi3DmaTx[0].CHCTRL = 0;
mibSpi3DmaTx[0].FRCNT = 61;//Transfer Group size for TG02
mibSpi3DmaTx[0].ELCNT = 1;
mibSpi3DmaTx[0].ELDOFFSET = 4;
mibSpi3DmaTx[0].ELSOFFSET = 0;
mibSpi3DmaTx[0].FRDOFFSET = 0;
mibSpi3DmaTx[0].FRSOFFSET = 0;
mibSpi3DmaTx[0].PORTASGN = 4;
mibSpi3DmaTx[0].RDSIZE = ACCESS_16_BIT;
mibSpi3DmaTx[0].WRSIZE = ACCESS_16_BIT;
mibSpi3DmaTx[0].TTYPE = FRAME_TRANSFER ;
mibSpi3DmaTx[0].ADDMODERD = ADDR_INC1;
mibSpi3DmaTx[0].ADDMODEWR = ADDR_OFFSET;
mibSpi3DmaTx[0].AUTOINIT = AUTOINIT_ON;
dmaEnableInterrupt(DMA_CH6, BTC);
dmaReqAssign(DMA_CH6, MBSPI3_CH0_TX_DMA_REQ_LINE);
dmaSetCtrlPacket(DMA_CH6,mibSpi3DmaTx[cs]);
dmaSetChEnable(DMA_CH6, DMA_HW);
mibspiREG3->DMACTRL[0] =
14 << 20 //set DMA RX request lines
| 15 << 16 //set DMA TX request lines
| 0x8000C000 //enable transmit and receive DMA, disable after 1 transfer
| 2 << 24 //TG02
| 0 << 8; //set initial transfer count
mibspiTransfer(mibspiREG3, group);
xSemaphoreTake(fram_tx_sync, portMAX_DELAY);
Thanks in advance