Цитата Сообщение от PVV Посмотреть сообщение
Ура, это значит, что сам интерфейс работает! 40..95 -это cmd0, 77..95 -это cmd55 и 69..95 -это acmd41, и на этом у меня инициализация заканчивается (для всех реальных карт, с которыми я работал этого было достаточно, и в b2m этого тоже достаточно) . Именно это туда и посылается, и каждая посылка возможна только при условии получения правильного ответа, иначе дальше 40..95 ничего бы больше не посылалось.
В таком случае, что именно ожидает получить Ваш эмулятор в качестве инициализации? ну или чего ему еще не хватает? исходник работающего примера я то вижу, просто это не так быстро все поддержать, и там же SDHC уже накручено сверху...
Я действительно вижу вхождение исходного когда в ветки эмуляции команд CMD0,CMD55,ACMD41, но дальше все вхождения только в SPI_IDLE, как будто после ACMD41 из внешнего кода команды больше не поступают. При этом оно там чего-то ожидает, потом я нажимаю DIR... и ничего, SPI_IDLE без конца. Где-то рассогласуется автомат передающий биты, и в уме сложить чего там во входящем потоке битов недостает - я не осилю. По логике, если считаны 3 команды, то должны читаться и остальные, в худшем случае при неизвестных командах автомат выдаст ошибку (как и было когда я отлаживал SDHC расширяя алгоритм инициализации новыми командами), но он же после третьей команды просто перестает заходить в это ветвление команд как если бы они перестали со входа поступать или "уплыл" CLC.