diff --git a/cores/esp32/esp32-hal-spi.c b/cores/esp32/esp32-hal-spi.c index c017f6a4..52fa1175 100644 --- a/cores/esp32/esp32-hal-spi.c +++ b/cores/esp32/esp32-hal-spi.c @@ -309,9 +309,9 @@ uint8_t spiGetDataMode(spi_t * spi) bool outEdge = spi->dev->user.ck_out_edge; if(idleEdge) { if(outEdge) { - return SPI_MODE3; + return SPI_MODE2; } - return SPI_MODE2; + return SPI_MODE3; } if(outEdge) { return SPI_MODE1; @@ -713,11 +713,11 @@ void spiTransaction(spi_t * spi, uint32_t clockDiv, uint8_t dataMode, uint8_t bi break; case SPI_MODE2: spi->dev->pin.ck_idle_edge = 1; - spi->dev->user.ck_out_edge = 0; + spi->dev->user.ck_out_edge = 1; break; case SPI_MODE3: spi->dev->pin.ck_idle_edge = 1; - spi->dev->user.ck_out_edge = 1; + spi->dev->user.ck_out_edge = 0; break; case SPI_MODE0: default: