Я увидел много информации о картах MMC / SD и попытался создать библиотеку для ее чтения (изменив Procyon AVRlib ).
Но у меня есть некоторые проблемы здесь. Я не изменяю оригинальный код и попробовал здесь. Моя проблема связана с инициализацией SD-карты. У меня есть два здесь, 256 МБ и еще 1 ГБ.
Я посылаю команды инициализации в следующем порядке: CMD0, CMD55, ACMD41 и CMD1.
Но SD-карта на 256 МБ возвращает только ответ 0x01 для каждой команды. Я отправляю CMD1 много раз, и SD-карта на 256 МБ всегда возвращает только 0x01, а не 0x00.
SD на 1 ГБ более сумасшедший ... CMD0 возвращается с 0x01. Хорошо, но команда CMD55 отвечает 0x05. В других случаях он отвечает 0xC1, а также иногда отвечает 0xF0 с 0x5F при следующем взаимодействии ...
В интернете есть информация и примеры, но это немного запутано. Здесь, в моем проекте, я должен использовать карту 1 ГБ, и я пытаюсь использовать карту microSD с адаптером SD (я думаю, что это не проблема).
Как мне решить эту проблему?
PS: Моя проблема похожа на проблему в вопросе переполнения стека Инициализация SD-карты в проблемах SPI , но решение не решило мою проблему. SD-карта на 1 ГБ возвращает только 0x01 когда-либо ...: cry: