Added support for STM32F103RB
BurstSPI_STM32F4.cpp@14:8872ab64789c, 2020-04-24 (annotated)
- Committer:
- peekpt
- Date:
- Fri Apr 24 11:09:03 2020 +0000
- Revision:
- 14:8872ab64789c
- Parent:
- 13:bc069279eb37
Added support for STM32F103RB
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 |