mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #10804 from VVESTM/vve_fix_10589
TARGET_STM: SPI: update pull up config depending on clk polaritypull/10836/head
commit
5a8f795976
|
|
@ -216,6 +216,12 @@ void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel
|
||||||
handle->Init.FifoThreshold = SPI_FIFO_THRESHOLD_01DATA;
|
handle->Init.FifoThreshold = SPI_FIFO_THRESHOLD_01DATA;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* According the STM32 Datasheet for SPI peripheral we need to PULLDOWN
|
||||||
|
* or PULLUP the SCK pin according the polarity used.
|
||||||
|
*/
|
||||||
|
pin_mode(spiobj->pin_sclk, (handle->Init.CLKPolarity == SPI_POLARITY_LOW) ? PullDown: PullUp);
|
||||||
|
|
||||||
init_spi(obj);
|
init_spi(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -290,6 +296,7 @@ void spi_format(spi_t *obj, int bits, int mode, int slave)
|
||||||
{
|
{
|
||||||
struct spi_s *spiobj = SPI_S(obj);
|
struct spi_s *spiobj = SPI_S(obj);
|
||||||
SPI_HandleTypeDef *handle = &(spiobj->handle);
|
SPI_HandleTypeDef *handle = &(spiobj->handle);
|
||||||
|
PinMode pull = 0;
|
||||||
|
|
||||||
DEBUG_PRINTF("spi_format, bits:%d, mode:%d, slave?:%d\r\n", bits, mode, slave);
|
DEBUG_PRINTF("spi_format, bits:%d, mode:%d, slave?:%d\r\n", bits, mode, slave);
|
||||||
|
|
||||||
|
|
@ -331,6 +338,13 @@ void spi_format(spi_t *obj, int bits, int mode, int slave)
|
||||||
handle->Init.Direction = SPI_DIRECTION_2LINES;
|
handle->Init.Direction = SPI_DIRECTION_2LINES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* According the STM32 Datasheet for SPI peripheral we need to PULLDOWN
|
||||||
|
* or PULLUP the SCK pin according the polarity used.
|
||||||
|
*/
|
||||||
|
pull = (handle->Init.CLKPolarity == SPI_POLARITY_LOW) ? PullDown: PullUp;
|
||||||
|
pin_mode(spiobj->pin_sclk, pull);
|
||||||
|
|
||||||
init_spi(obj);
|
init_spi(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue