Инициализация SD-карты периодически завершается неудачей

У меня есть устройство для чтения SD-карт, которое работает нормально, за исключением того, что иногда SD.begin дает сбой без видимых причин. Чтобы обойти эту проблему, я поместил SD.begin в цикл while, а затем вывел ошибку на ЖК-дисплей. Когда возникает ошибка, я извлекаю и снова вставляю карту, что обычно срабатывает с первой или второй попытки. Я никогда не видел проблем с инициализацией карты. Есть ли у кого-нибудь идеи, в чем может быть проблема?

, 👍4

Обсуждение

Какой ридер? Ссылка? Возможно, у вас слишком высокая частота для него. Есть способы замедлить работу библиотеки SD., @Nick Gammon

https://www.arduino.cc/en/Main/GTFT Я не использую TFT, а только SD-картридер. Если SPI, где я должен работать, не должно ли это привести к случайным ошибкам после успешной инициализации при чтении и записи на него?, @Aoaoaoappa

Не знаю. Были сообщения, что некоторые SD-карты работают лучше других. Во время инициализации может происходить согласование используемого протокола. Возможно, стоит попробовать добавить небольшую задержку в setup, чтобы дать карте время на включение., @Nick Gammon


1 ответ


0

Я использую Arduino Mega с ChipSelect, установленным на: 53 Он периодически не открывался, ПОКА... Я оставил вывод 4 (выбор микросхемы при использовании UNO) неиспользованным. И вдруг это работает в 100% случаев... Не спрашивайте меня почему — но это работает!

,