Инициализация SD-карты не удалась
Я использую пример скетча SD-карты, представленный в Arduino IDE. Все работает хорошо, но когда я перезагружаю Adruino Mega с помощью кнопки сброса, инициализация SD-карты не удалась. Чтобы это исправить, мне нужно вытащить SD-карту, вставить ее в гнездо и снова перезагрузить плату. После этого инициализация SD-карты прошла успешно. Как я могу обновить свой код, чтобы попытаться инициализировать SD-карту, пока инициализация не пройдет успешно? И еще, не могли бы вы мне объяснить, откуда взялся этот баг?
См. пример установки SD-карты на Arduino Mega:
Serial.print("Initializing SD card...");
if (!SD.begin(53)) {
Serial.println("initialization failed!");
while (1);
}
Serial.println("initialization done.");
@Teddol, 👍0
Обсуждение1 ответ
Лучший ответ:
▲ 0
Я просто добавляю внешний источник питания 9 В к моей Arduino Mega. Устройство SD питается от распиновки Arduino 5 В.
,
@Teddol
Смотрите также:
- Создание файла на SD-карте
- SD-карта не инициализируется
- Печать содержимого файла SD - карты на ЖК-дисплее
- RTC и SD работают отдельно, а не вместе
- Записать массив на SD
- Nextion Display не получает обновленных данных
- Использование Arduino wireless SD Shield для сохранения данных на SD-карту и отправки на ПК по беспроводной сети
- Файл не найден на SD-карте
Вероятно это не баг, не все сд карты совместимы с сд библиотекой. Вы перезагружаете Arduino, пока SD-карта занята? Возможно гнездо на его модуле не подходит на 5в. Возможно, вы используете макетную плату. Возможно, провода слишком длинные. Возможно, на ардуино мега не хватает напряжения из-за дешевого USB-кабеля. Есть еще много вещей, которые могут быть неправильными., @Jot
подключено ли какое-то другое устройство SPI?, @Juraj
Никакое другое устройство SPI не подключено. Я использую USB-кабель и провода длиной 20 см для подключения SD-карты к Arduino. Попробую поработать с внешним блоком питания 9В и возможно до скорой встречи..., @Teddol
После использования внешнего питания инициализация работает хорошо после 10 перезагрузок!!! Вы пишете Jot, используя только USB-кабель, напряжение на выводе CS устройства SD-карты составляет около 4,5 В. При внешнем напряжении 5 В для Arduino, контакт CS устройства SD-карты составляет 4,99 В. Я думаю, что проблема возникла отсюда. Спасибо !, @Teddol
SD-карта имеет напряжение 3,3 В (или, по крайней мере, совместима с 3,3 В). Можете показать фото модуля с разъемом? Есть ли в модуле чип для преобразования сигналов 3,3 В с SD-карты в сигналы 5 В от Arduino?, @Jot
Не знаю как сюда разместить фотки, но регулятор на аппарате есть. Я могу измерить напряжение 4,99 В на одном из контактов и 3,29 В на другом., @Teddol
Сигналы SPI для SD-карты должны быть преобразованы в сигналы 3,3 В. В этом модуле имеется hc4050 для преобразования сигналов: https://www.adafruit.com/product/254., @Jot
Моя плата оснащена SN74LVC125A, буфером на 3,3 В. Модель платы можно найти здесь: https://www.amazon.fr/SKYNET-Lecteur-Reader-ARDUINO-RASPBERRY/dp/B01DNXWVES, @Teddol