x

Dependents:   20180621_FT813

Fork of BurstSPI by Erik -

Committer:
Sissors
Date:
Sat May 16 11:09:59 2015 +0000
Revision:
13:bc069279eb37
Child:
14:35df38577abd
Added STM F4XX support.
;
; (And seriously STM, it has the same SPI as the already supported L152, but you just had to go ahead and change all your driver files)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sissors 13:bc069279eb37 1 #if defined(TARGET_STM32F4)
Sissors 13:bc069279eb37 2 #include "BurstSPI.h"
Sissors 13:bc069279eb37 3
Sissors 13:bc069279eb37 4 void BurstSPI::fastWrite(int data) {
Sissors 13:bc069279eb37 5
Sissors 13:bc069279eb37 6 SPI_TypeDef *spi = (SPI_TypeDef *)(_spi.spi);
Sissors 13:bc069279eb37 7 // Check if data is transmitted
Sissors 13:bc069279eb37 8 while ((spi->SR & SPI_SR_TXE) == 0);
Sissors 13:bc069279eb37 9 spi->DR = data;
Sissors 13:bc069279eb37 10 }
Sissors 13:bc069279eb37 11
Sissors 13:bc069279eb37 12 void BurstSPI::clearRX( void ) {
Sissors 13:bc069279eb37 13 //Check if the RX buffer is busy
Sissors 13:bc069279eb37 14 SPI_TypeDef *spi = (SPI_TypeDef *)(_spi.spi);
Sissors 13:bc069279eb37 15 //While busy, keep checking
Sissors 13:bc069279eb37 16 while (spi->SR & SPI_SR_BSY){
Sissors 13:bc069279eb37 17 // Check RX buffer readable
Sissors 13:bc069279eb37 18 while ((spi->SR & SPI_SR_RXNE) == 0);
Sissors 13:bc069279eb37 19 int dummy = spi->DR;
Sissors 13:bc069279eb37 20 }
Sissors 13:bc069279eb37 21 }
Sissors 13:bc069279eb37 22 #endif
Sissors 13:bc069279eb37 23