From 00de54adfb29d49faafc8e88d6a55f03ab4659bf Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Mon, 10 Oct 2022 09:43:07 +0200 Subject: [PATCH] Enable MISO pullup during SD CMD0 fix typo --- Firmware/Sd2Card.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Firmware/Sd2Card.cpp b/Firmware/Sd2Card.cpp index 0e8fc451..aa0d3ccf 100644 --- a/Firmware/Sd2Card.cpp +++ b/Firmware/Sd2Card.cpp @@ -311,13 +311,16 @@ bool Sd2Card::init(uint8_t sckRateID) { // must supply min of 74 clock cycles with CS high. for (uint8_t i = 0; i < 10; i++) spiSend(0XFF); + WRITE(MISO, 1); // temporarily enable the MISO line pullup // command to go idle in SPI mode while ((status_ = cardCommand(CMD0, 0)) != R1_IDLE_STATE) { if (((uint16_t)_millis() - t0) > SD_INIT_TIMEOUT) { + WRITE(MISO, 0); // disable the MISO line pullup error(SD_CARD_ERROR_CMD0); goto fail; } } + WRITE(MISO, 0); // disable the MISO line pullup // send 0xFF until 0xFF received to give card some clock cycles t0 = (uint16_t)_millis();