Цитата(alexey123_45 @ Feb 20 2018, 12:56)

А как это можно победить?
Как победить - не знаю.
Я сделал костыль: в функции "записать сектор" смотрю, если перед этим была операция чтения, то выжидаю некую паузу.
Выше слегка наврал: проблема происходит после запись-чтение-запись.
Если сделать запись-чтение-пауза-запись, то все ок.
Код
int SDIO_Read(DWORD sector, BYTE *buf, const int buf_size, const void *p, tSDIO_CALLBACK *cb)
{
...
sdio_last_rd = 1;
...
}
int SDIO_Write(DWORD sector, BYTE *buf, const int buf_size, const void *p, tSDIO_CALLBACK *cb)
{
...
if(sdio_last_rd)
{
sdio_last_rd = 0;
for(i = 0; i < 500; i++) SDIO_Delay();
}
...
}