Цитата(etoja @ Jan 24 2008, 07:13)

Проверьте:
1)наличие подтягивающих резисторов и антизвоновых конденсаторов на сигнальных линиях карточки памяти, как это указано в прилагаемой документации.
2) наличие керамического конденсатора 1uF параллельно питанию карточки рядом с контактами разъёма карточки.
У меня непрерывная запись в файл длиной 1Гигабайт идёт устойчиво (использую FAT16).
Напишите тестовую программу: непрерывная запись и чтение сектора по абсолютному адресу.
Если она проходит удачно, значит у вас ошибка в реализации FAT.
Хотя может быть просто плохой контакт карточки в разъёме.
Сегодня проверил конденсаторы, даже добавил еще один на всякий случай - не помогло.
Слепил тестовый прогон - записывал и сразу после записи считывал 2000 секторов, сравнивая результаты. Ошибок, собственно в данных, нет. Однако из 2000 раз 5-25 раз процедура чтения не смогла найти байт начала данных в потоке данных от карточки после команды чтения. Может такие сбои - норма.
А вот пару раз карточка вела себя неадекватно - на любую команду начинала выдавать ответ R1 0x05. Это вроде Idle и Illegal command - но не могут же все команды быть иллегальными? Пробовал руками вбивать все команды - на все такой ответ, кроме CMD0. На CMD0 ответ правильный 0x01, но это не помогало - на остальные команды все равно отвечала 0x05. Кому знакомы такие симптомы?