После подачи CMD0 (Idle) карта начинает внутренний процесс инициализации. Время, которое для этого требуется, зависит от конкретного типа карты, но порядок - десятки мс. Поэтому после подачи CMD0 делается несколько запросов с проверкой ответа. Команда CMD8 по моему для SDHC, и ваша карта не должна на нее отвечать, потом должен быть запрос CMD1, и если у вас MMC, то карта даст ответ регистром OCR, в котором нужно проверить бит POWER_UP_STATUS. И пока карта не закончит инициализацию, этот бит будет сброшен, соответственно нужно подавать CMD1 до тех пор, пока он не установится, после чего продолжать процесс инициализации. А вообще, в спецификации на SD этот автомат состояний расписан более чем понятно.
--------------------
Пасу котов...
|