mirror of https://github.com/ARMmbed/mbed-os.git
parent
3d72f3dcbf
commit
ad09a83642
|
@ -215,13 +215,19 @@ static inline int ssp_writeable(spi_t *obj) {
|
||||||
static inline void ssp_write(spi_t *obj, int value) {
|
static inline void ssp_write(spi_t *obj, int value) {
|
||||||
SPI_TypeDef *spi = (SPI_TypeDef *)(obj->spi);
|
SPI_TypeDef *spi = (SPI_TypeDef *)(obj->spi);
|
||||||
while (!ssp_writeable(obj));
|
while (!ssp_writeable(obj));
|
||||||
SPI_SendData8(spi, (uint8_t)value);
|
if(obj->bits == SPI_DATASIZE_8BIT) // 8 bit mode
|
||||||
|
SPI_SendData8(spi, (uint8_t)value);
|
||||||
|
else
|
||||||
|
SPI_I2S_SendData16(spi, (uint16_t)value);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int ssp_read(spi_t *obj) {
|
static inline int ssp_read(spi_t *obj) {
|
||||||
SPI_TypeDef *spi = (SPI_TypeDef *)(obj->spi);
|
SPI_TypeDef *spi = (SPI_TypeDef *)(obj->spi);
|
||||||
while (!ssp_readable(obj));
|
while (!ssp_readable(obj));
|
||||||
return (int)SPI_ReceiveData8(spi);
|
if(obj->bits == SPI_DATASIZE_8BIT) // 8 bit mode
|
||||||
|
return (int)SPI_ReceiveData8(spi);
|
||||||
|
else // 16 bit mode
|
||||||
|
return (int)SPI_I2S_ReceiveData16(spi);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int ssp_busy(spi_t *obj) {
|
static inline int ssp_busy(spi_t *obj) {
|
||||||
|
@ -242,13 +248,19 @@ int spi_slave_receive(spi_t *obj) {
|
||||||
|
|
||||||
int spi_slave_read(spi_t *obj) {
|
int spi_slave_read(spi_t *obj) {
|
||||||
SPI_TypeDef *spi = (SPI_TypeDef *)(obj->spi);
|
SPI_TypeDef *spi = (SPI_TypeDef *)(obj->spi);
|
||||||
return (int)SPI_ReceiveData8(spi);
|
if(obj->bits == SPI_DATASIZE_8BIT) // 8 bit mode
|
||||||
|
return (int)SPI_ReceiveData8(spi);
|
||||||
|
else
|
||||||
|
return (int)SPI_I2S_ReceiveData16(spi);
|
||||||
}
|
}
|
||||||
|
|
||||||
void spi_slave_write(spi_t *obj, int value) {
|
void spi_slave_write(spi_t *obj, int value) {
|
||||||
SPI_TypeDef *spi = (SPI_TypeDef *)(obj->spi);
|
SPI_TypeDef *spi = (SPI_TypeDef *)(obj->spi);
|
||||||
while (!ssp_writeable(obj));
|
while (!ssp_writeable(obj));
|
||||||
SPI_SendData8(spi, (uint8_t)value);
|
if(obj->bits == SPI_DATASIZE_8BIT) // 8 bit mode
|
||||||
|
SPI_SendData8(spi, (uint8_t)value);
|
||||||
|
else
|
||||||
|
SPI_I2S_SendData16(spi, (uint16_t)value);
|
||||||
}
|
}
|
||||||
|
|
||||||
int spi_busy(spi_t *obj) {
|
int spi_busy(spi_t *obj) {
|
||||||
|
|
Loading…
Reference in New Issue