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.
Tool/software:
I am trying to implement a SPI slave with DMA and am having an issue with with transmitting data back to the master. I have confirmed that both the RX and TX DMA channels are pointing toward the SpicRegs.SPIRXBUF and SpicRegs.SPITXBUF respectively and the DMA for the RX buffer works however TX is giving me trouble. I have registered my DMA interrupt and confirmed that it is enabled but the interrupt never fires. In addition, even though there is nothing in the SpicRegs.SPITXBUF, the SPI slave is transmitting data. The SPIDAT register is getting populated and sending bits out and I am not sure where this data is coming from. What could be populating this register other than the SpicRegs.SPITXBUF?
Hi Ben,
One note is that the sequence of SPI configuration is important for proper operation. Ensure you are reading and writing from the right registers. For example,
You can also refer to this example. While it is technically for F2838x, the overall concept should remain the same as the IPs are very similar (almost the same): C2000Ware_x_x_xx_xx\driverlib\f2838x\examples\c28x\spi\spi_ex5_loopback_dma.
Best Regards,
Aishwarya