Other Parts Discussed in Thread: TMS470R1B1M
Hello,
I'm working on DMA-controlled SPI on TMS470R1. The SPI is configured as follows:
1) Baud rate at 1MHz
2) Data length at 16 bits
I run into a problem where DMA always copies one data from SPIBUF through RX channel, before it writes one data to SPIDAT, when SPI receive overrun occurs. This problem is illustrated in the following picture:
Currently, I set up a DMA RX (one transfer count) to read out the data left in SPIBUF before I start DMA transfer for my normal data transfer routine. May I know how could I resolve this? Is there any register (DMA or SPI) I could use to clear the SPI controller event to DMA controller?
Thank you.