Added support for STM32F103RB
BurstSPI_STM32F4.cpp@13:bc069279eb37, 2015-05-16 (annotated)
- Committer:
- Sissors
- Date:
- Sat May 16 11:09:59 2015 +0000
- Revision:
- 13:bc069279eb37
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?
User | Revision | Line number | New 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 |