fixes a race condition when reading qspi data register

This commit is contained in:
Eyck Jentzsch 2025-05-23 20:24:02 +02:00
parent b9e5f33cb6
commit 5353d7d258

View File

@ -66,9 +66,11 @@ static inline uint8_t spi_read(volatile qspi_t *qspi) {
qspi->DATA = SPI_CMD_READ;
while (spi_rsp_occupied(qspi) == 0)
;
while ((qspi->DATA & 0x80000000) == 0)
;
return qspi->DATA;
int32_t data;
do {
data = qspi->DATA ;
} while (data<0);
return data;
}
static inline void spi_select(volatile qspi_t *qspi, uint32_t slaveId) {