From 35ade68bb3256fe2b3d1b25582e335593d30ffd0 Mon Sep 17 00:00:00 2001 From: jflyper Date: Mon, 21 Jan 2019 01:02:10 +0900 Subject: [PATCH] Discard excess/bogus data in DR --- src/main/drivers/bus_spi_stdperiph.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/drivers/bus_spi_stdperiph.c b/src/main/drivers/bus_spi_stdperiph.c index 5795c86f81..08ed3e3a22 100644 --- a/src/main/drivers/bus_spi_stdperiph.c +++ b/src/main/drivers/bus_spi_stdperiph.c @@ -113,6 +113,8 @@ uint8_t spiTransferByte(SPI_TypeDef *instance, uint8_t txByte) { uint16_t spiTimeout = 1000; + instance->DR; + while (SPI_I2S_GetFlagStatus(instance, SPI_I2S_FLAG_TXE) == RESET) if ((spiTimeout--) == 0) return spiTimeoutUserCallback(instance);