Question
STM32F4xx Using DMA Transfer Complete Callback with SPI
Posted on February 10, 2016 at 22:18
I just posted this message but it seems to have gotten lost by the forum system. :(
Anyway, I'm using SPI with DMA to talk to a SPI flash chip. I'm using the TXRX complete callback handler to detect when a transfer is finished and change internal states so the application can be notified when stuff is done. But in some cases I use the TXRX complete callback to start new transfers. For instance on my particular chip the write enable requires a 1 byte transfer followed by the actual data to write. So I start the first transfer, and when it's done and the callback gets called I try to start the next transfer. But the SPI module never transmits anything the second time, nor does it ever complete. Is there some kind of weird limitation of doing what I'm doing? I'd prefer not to have a task within my SPI flash module, and would rather rely on the callbacks to drive everything for simplicity and maximum throughput. Any help would be greatly appreciated!