Platform drivers for Mbed.
Dependents: EVAL-CN0535-FMCZ EVAL-CN0535-FMCZ EVAL-AD568x-AD569x EVAL-AD7606 ... more
Diff: src/spi.cpp
- Revision:
- 13:c446482b0360
- Parent:
- 12:d85b77f4160c
- Child:
- 14:46aad38346a6
--- a/src/spi.cpp Fri Aug 14 11:14:13 2020 +0530 +++ b/src/spi.cpp Fri Aug 14 14:26:41 2020 +0530 @@ -29,6 +29,8 @@ /********************** Variables and User defined data types *****************/ /******************************************************************************/ +static uint8_t spi_format_bytes = 16; // SPI format + /******************************************************************************/ /************************ Functions Declarations ******************************/ /******************************************************************************/ @@ -96,8 +98,10 @@ **/ spi->frequency(param->max_speed_hz); spi->format(16, param->mode); // 16-bit data write/read format + spi_format_bytes = 16; spi->set_default_write_value(0x00); // code to write when reading back ss->write(GPIO_HIGH); // set SS high + return SUCCESS; } @@ -154,7 +158,6 @@ uint8_t num_of_words; // Number of words in SPI frame uint16_t rw_data; // SPI read data uint8_t data_index = 0; // Data index - static uint8_t spi_format = 16; // SPI format if (desc) { spi = (SPI *)(((mbed_spi_desc *)(desc->extra))->spi_port); @@ -165,14 +168,14 @@ /* Determine the data transmit/receive format based on parity of data */ if (!(bytes_number % 2)) { - if (spi_format != 16) { + if (spi_format_bytes != 16) { spi->format(16, desc->mode); - spi_format = 16; + spi_format_bytes = 16; } } else { - if (spi_format != 8) { + if (spi_format_bytes != 8) { spi->format(8, desc->mode); - spi_format = 8; + spi_format_bytes = 8; } }