сделал всё как предложено выше.
в результате такая штука:
- карточка отвечает 0 на CMD1 не всегда, но отвечает.
- читаем блок (операции предусматривающие SINGLE_BLOCK_READ)
- приходится снова переводить в CMD1 иначе следующая команда не вернёт ответа отличного от 0xFF в результате "подвисание" или ошибка.
- любая операция чтения блока возвращает 1; И никак не хочет 0;
SPI:
Код
SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0)|(1<<SPR1); //Enable SPI, SPI in Master Mode
SPSR = (0<<SPI2X);