view spi.c @ 32:188d5a8a7470

Readd code accidentally removed from last version, now the hot & cold stuff actually works.
author Daniel O'Connor <darius@dons.net.au>
date Tue, 27 Nov 2012 15:56:09 +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);
}