Цитата(_Pasha @ Nov 17 2012, 13:29)

Т.е. такая штука работать не будет?
Будет конечно.
Я прошу прощения, думал о f_sync а написал f_lseek, вот его (f_sync), вызывать перед f_close совершенно бессмысленно.
После каждого f_write можно, но если пишется не очень большими блоками, то сильно притормозит процесс записи.
Цитата(Sergey_rzn62 @ Nov 17 2012, 21:07)

Размер буфера BufSize = 32768
До 1 Мбайта данные на карту пишутся. Пытаюсь записать на карту буферов больше, чем 24, размер файла на карте равен 0 и в нём пусто.
Подскажите, в чём может быть проблема?
Трудно сказать, я для проверки скорости, писал блоками по 4К вот так:
Код
res = f_open(&fsrc, "test.dat", FA_CREATE_ALWAYS | FA_WRITE);
if(res==FR_OK){
for(i=0; i<6000;i++){
res=f_write(&fsrc, &SDBuffer[0],4096, &bw);
}
f_close(&fsrc);
}
И ~24MB писалось нормально.
Скорее всего, все зависит от реализации работы с железом в diskio.c и т.п.