Mercurial > ~darius > hgwebdir.cgi > stm32temp
view spi.c @ 50:d7207a9d3c3b
Add write support. LFN still broken though.
Make sure we wait for the card to be done after a read or write (didn't seem to break reading but hosed writes).
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Fri, 05 Apr 2013 00:08:31 +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); }