cancel
Showing results for 
Search instead for 
Did you mean: 

Using the SPI module during the receiving data via DMA

gokhannsahin
Associate II

Hi everyone,

I'm using the DMA to receive the data from external flash via DMA. Can the SPI module transmit data while receiving from external flash at the same time? Or will it block this transmitting until completing the receiving? Or can simultaneous access be provided while receiving/transmitting?

With another possibility, if I try to transmit with HAL_SPI_Transmit(...) after start the DMA in order to transmit the data? It will corrupt, or will block me this request?

By the way, the SPI module is being used as full duplex.

1 REPLY 1

The chips you are talking too tend to be inherently sequential in operation. Any concurrent operation should be in the datasheet.

As you're clocking back data now data is being clocked out. For SPI Flash reads this is typically a dummy or null byte that is ignored. The datasheet for the device should be illustrative. For writes status might be returned in the back channel.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..