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.

TMS570LC4357: Cannot receive last byte during data reception with DMA

Part Number: TMS570LC4357

Tool/software:

I provide data communication between TMS570LC4357 microcontroller and slave device with SPI protocol in DMA operating mode. My data communication stops after working for a certain period of time, this is because DMA block transfer complete interrupt does not occur. When I want to read 20 bytes from slave device, DMA transfers 19 bytes of data but does not transfer the last byte. Even though there is the last data in the SPI RX buffer and the RXNE flag is raised, the DMA does not carry the last byte. When I decrease my SPI speed from 15MHz to 10MHz, my problem is solved. I do not know the reason for the above problem. DMA does not always carry the last byte even though there is data in SPI RX buffer, for this reason DMA transfer complete interrupt does not occur.