Lib BurstSPI give access to fastWrite function and clearRX function, this lib is now compatible with Nucleo L152RE board
Fork of BurstSPI by
Diff: BurstSPI_NUCLEO_F030R8.cpp
- Revision:
- 5:c9c9ef0a40b9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BurstSPI_NUCLEO_F030R8.cpp Wed Jun 25 14:11:39 2014 +0000 @@ -0,0 +1,27 @@ + + +/* BurstSPI_NUCLEO_F030R8.cpp */ +#ifdef TARGET_NUCLEO_F030R8 +#include "BurstSPI.h" + +void BurstSPI::fastWrite(int data) { + + SPI_TypeDef *spi = (SPI_TypeDef *)(_spi.spi); + // Check if data is transmitted + while (!((SPI_I2S_GetFlagStatus(spi, SPI_I2S_FLAG_TXE) != RESET) ? 1 : 0)); + SPI_I2S_SendData16(spi, (uint16_t)data); + } + +void BurstSPI::clearRX( void ) { + int status; + //Check if the RX buffer is busy + SPI_TypeDef *spi = (SPI_TypeDef *)(_spi.spi); + status = ((SPI_I2S_GetFlagStatus(spi, SPI_I2S_FLAG_BSY) != RESET) ? 1 : 0); + if (status){ + // Check RX buffer readable + while (!((SPI_I2S_GetFlagStatus(spi, SPI_I2S_FLAG_RXNE) != RESET) ? 1 : 0)); + int dummy = (int)SPI_I2S_ReceiveData16(spi); + } +} +#endif +