Цитата(QuickWitted @ Jan 9 2008, 09:53)

Мне спорить надоело - есть флэши ВЫДАЮЩИЕ В ОТВЕТ ТОКЕН НЕ КРАТНО 8 бит
(читай мои посты выше) Кусок доки ТАМ приводился...
(Это на осциллографе прекрасно видно...)
И они встречаются довольно часто. Хотите делать устройство работающее
НЕ СО ВСЕМИ флешами - поясняя при этом что это НЕПРАВИЛЬНЫЕ ФЛЕШИ - да делайте...
Конечно же дело не во флешках. Сомневаюсь, что массово продаются кривые изделия.
Тут дело в конкретной реализации драйвера хоста.
Только что сам наступил на эти грабли - выдача SD картой ответа, сдвинутого относительно 8-ми битной границы.
Причина - следование следующей команды
сразу за предыдущей.
А в документации указано - должен быть интервал в 8 тактов линии CLK:
After the last SD Memory Card bus transaction, the host is required, to provide
8 (eight) clock cycles for the card to complete the operation before shutting down the clock. Following
is a list of the various bus transactions:
•A command with no response. 8 clocks after the host command end bit.
•A command with response. 8 clocks after the card response end bit.
•A read data transaction. 8 clocks after the end bit of the last data block.
•A write data transaction. 8 clocks after the CRC status token.
То есть после получения ответа/отправки команды просто отправляем вдогонку 0xff. Вуаля - никаких "некратных токенов"

ЗЫ: кстати, может кто посоветует - стоит ли в режиме SPI включать CRC? Не хотелось бы иметь битые/криво прочитанные файлы на диске...