Posted on October 17, 2016 at 22:28
My code configures SPI as slave and then enters an infinite loop where it receives a message, sets a GPIO line indicating to the host that the processor is busy, and readies to transmit a response. After one r...
Posted on December 14, 2016 at 18:44
Hi Owain,
simple answers first:
I think the synchronization between SPI DMA is done in these lines:
__HAL_LINKDMA(hspi, hdmatx, hdma_tx);
hdma_rx.Instance = SPI_CO_CPU_RX_DMA_STREAM;
hdma_rx.Init.Cha...
Posted on October 25, 2016 at 14:42Now I ran the same code (almost, now using SPI2) on a NucleoF446RE evaluation board, and the additional byte is back. Reducing peripheral and DMA clock speeds did not fix it this time. The system configuration is t...
Posted on October 19, 2016 at 18:32Turns out that no additional byte is triggered when I reduce HCLK (prescaler / divisor = 2) and such no flushing of tx is needed. Maybe I am not interpreting the data sheet for the STM32F446 correctly, but it and C...