fixes a race condition when reading qspi data register
This commit is contained in:
parent
b9e5f33cb6
commit
5353d7d258
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user