From 0b2d68616057e1dd1b1f78c9ba70b71caf502479 Mon Sep 17 00:00:00 2001 From: jmz52 Date: Sat, 18 Aug 2018 07:27:10 +0300 Subject: [PATCH] Fix "SD init fail" problem for STM32F1 (#11579) Fix "SD init fail" problem for STM32F1 caused by incorrect SS pin state and incorrect SPI mode. Issue #11225 --- Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp b/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp index 58d22ac572..02314a346c 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp @@ -81,8 +81,8 @@ void spiBegin() { #if !PIN_EXISTS(SS) #error "SS_PIN not defined!" #endif - WRITE(SS_PIN, HIGH); SET_OUTPUT(SS_PIN); + WRITE(SS_PIN, HIGH); } /** @@ -104,7 +104,7 @@ void spiInit(uint8_t spiRate) { case SPI_SPEED_6: clock = SPI_CLOCK_DIV64; break; default: clock = SPI_CLOCK_DIV2; // Default from the SPI library } - spiConfig = SPISettings(clock, MSBFIRST, SPI_MODE0); + spiConfig = SPISettings(clock, MSBFIRST, SPI_MODE3); SPI.begin(); }