Все команды «ACMD» требуют CMD55, за которым следует соответствующая команда.
Например, для команды ACMD41:
SD_command(55, 0, 0, 0, 0, 0xFF);
n= SD_command(41, SD2<<6 , 0, 0, 0, 0xFF);
Не забудьте ИЛИ в 0b01000000 до первого аргумента.Фактическая команда не 55, это 55|0b01000000
(0b01110111
, десятичная 119
).Я делаю это в самой функции SD_command.
Взаимодействие с SD-картами - ОГРОМНАЯ боль, поэтому не сдавайтесь.Удачи!