Цитата(avp @ Jun 19 2009, 17:47)

CMD_SD_SEND_OP_COND //(с параметром 0x40000000 - поднять HCS)
Кроме HCS нужно еще и напряжение указать, очень возможно, что карта именно поэтому и не работает. Попробуйте такие параметры:
Код
#define SDHC_HCS_CCS (1UL << 30)
#define SDHC_VHS_TP ((1UL << 8) | 0xaa) /* 2.7-3.6V */
#define SDHC_OP_CONDS (SDHC_HCS_CCS | (1UL << 20)) /* HCS, 3.2-3.3V */
SDHC_VHS_TP - аргумент для SEND_IF_COND, там тоже указывается напряжение.
Цитата(avp @ Jun 19 2009, 17:47)

SD_SET_BLOCKLEN(512); // по-идее, здесь "возможен/должен быть" параметр 2048, но он и 1024 или 4096 возвращают
У SDHC размер блока всегда 512.