DMA SPI transfer recovery time
I am making this call: if(HAL_SPI_Receive_DMA(&hspi3, &aRecvBuffer[0],3)!= HAL_OK)
inside an external GPIO interrupt handler that gets called every 20 us. It is used to read data from an external ADC. I noticed that this dma transfer works well only for transfers at 40 us periods or more. Otheriwse, the DMA shows it is in a RX_Busy state after every other sucessful transfer. for example out of 100 calls, I get only 50 calls with successful transfer. when the transfer fails, I see that the DMA is in an RX_Busy state.
Is this a limitation of STM32F7 or a bug in my code?