Mercurial > ~darius > hgwebdir.cgi > stm32temp
view spi.c @ 24:1e2fa7396f98
Reduce prescaler to 2, the flash is capable of 25MHz reads (although
the touch screen is limited to ~2.5MHz)
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Sat, 17 Nov 2012 12:17:58 +1030 |
parents | 58d76cf522ff |
children |
line wrap: on
line source
#include <stdint.h> #include "spi.h" #include "stm32f10x.h" uint8_t SPI_WriteByte(uint8_t out) { uint8_t in = 0; /* Wait until the transmit buffer is empty */ while (SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_TXE) == RESET) ; /* Send the byte */ SPI_I2S_SendData(SPI1, out); /* Wait until a data is received */ while (SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_RXNE) == RESET) ; /* Get the received data */ in = SPI_I2S_ReceiveData(SPI1); /* Return the shifted data */ return (in); }