read result of DSPI receiver fifo only after transfer has been finished completely (check with status register)
This commit is contained in:
@@ -101,8 +101,12 @@ static uint8_t xchg_spi(uint8_t byte)
|
|||||||
while (! (MCF_DSPI_DSR & MCF_DSPI_DSR_TCF)); /* wait until DSPI transfer complete */
|
while (! (MCF_DSPI_DSR & MCF_DSPI_DSR_TCF)); /* wait until DSPI transfer complete */
|
||||||
MCF_DSPI_DSR = 0xffffffff; /* clear DSPI status register */
|
MCF_DSPI_DSR = 0xffffffff; /* clear DSPI status register */
|
||||||
|
|
||||||
|
while (! (MCF_DSPI_DSR & MCF_DSPI_DSR_TCF)); /* wait again for transfer to complete */
|
||||||
|
|
||||||
fifo = MCF_DSPI_DRFR;
|
fifo = MCF_DSPI_DRFR;
|
||||||
MCF_DSPI_DSR = 0xffffffff;
|
|
||||||
|
MCF_DSPI_DSR = 0xffffffff; /* clear status register */
|
||||||
|
|
||||||
res = fifo & 0xff;
|
res = fifo & 0xff;
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user