diff --git a/os/hal/platforms/STM32/spi_lld.c b/os/hal/platforms/STM32/spi_lld.c index cbb7859a3..4dc18e80c 100644 --- a/os/hal/platforms/STM32/spi_lld.c +++ b/os/hal/platforms/STM32/spi_lld.c @@ -97,6 +97,12 @@ static void serve_interrupt(SPIDriver *spip) { /* Wakeup the waiting thread if any, note that the following macro is empty if the SPI_USE_WAIT option is disabled.*/ _spi_wakeup(spip); + + /* State change.*/ + if (spip->spd_state == SPI_SYNC) + spip->spd_state = SPI_READY; + else + spip->spd_state = SPI_SELECTED; } /*===========================================================================*/