mbed library sources
Fork of mbed-src by
Diff: targets/hal/TARGET_STM/TARGET_STM32L1/spi_api.c
- Revision:
- 552:a1b9575155a3
- Parent:
- 496:543871686697
--- a/targets/hal/TARGET_STM/TARGET_STM32L1/spi_api.c Wed May 27 09:30:08 2015 +0100 +++ b/targets/hal/TARGET_STM/TARGET_STM32L1/spi_api.c Wed May 27 13:30:08 2015 +0100 @@ -103,13 +103,10 @@ obj->pin_sclk = sclk; obj->pin_ssel = ssel; - if (ssel == NC) { // SW NSS Master mode - obj->mode = SPI_MODE_MASTER; + if (ssel != NC) { + pinmap_pinout(ssel, PinMap_SPI_SSEL); + } else { obj->nss = SPI_NSS_SOFT; - } else { // Slave - pinmap_pinout(ssel, PinMap_SPI_SSEL); - obj->mode = SPI_MODE_SLAVE; - obj->nss = SPI_NSS_HARD_INPUT; } init_spi(obj); @@ -171,14 +168,12 @@ break; } - if (slave == 0) { - obj->mode = SPI_MODE_MASTER; - obj->nss = SPI_NSS_SOFT; - } else { - obj->mode = SPI_MODE_SLAVE; - obj->nss = SPI_NSS_HARD_INPUT; + if (obj->nss != SPI_NSS_SOFT) { + obj->nss = (slave) ? SPI_NSS_HARD_INPUT : SPI_NSS_HARD_OUTPUT; } + obj->mode = (slave) ? SPI_MODE_SLAVE : SPI_MODE_MASTER; + init_spi(obj); }