Здравствуйте всем! На плате STM32F4Discovery с материнкой STM32F4DIS-BB пытаюсь запустить файловую систему FatFs (версия R0.08a)... вставляю микро-сд карту (SanDisk 4Gb 4 класс) и пытаюсь туда писать данные порциями по 1 килобайту за раз и так в цикле с интервалом 600мс. Так вот, ровно половина массива пишется корректно (символы s), а вторая половина массива вместо символов записываются нули. И так при каждой записи массива. (подобное поведение и при других, более крупных массивах) Кто может сталкивался с подобным... Как лечить? (использую исходный проект из комплекта поставки отладочной платы и экспериментирую с ним) Помогите! Никогда не сталкивался с файловыми системами и вот тут такой затык...
Вот проверочный код...
Код
// открываем лог-файл...
ret = f_open(&file, "system.log", FA_READ | FA_WRITE | FA_OPEN_ALWAYS);
if (ret)
{fault_err(ret);}
STM_EVAL_LEDInit(LED5);
/* для теста */
for(test_cnt = 0; test_cnt < ARRSIZE; test_cnt++)
{
test_arr[test_cnt] = 's';
}
while(1)
{ STM_EVAL_LEDOn(LED5);
f_lseek(&file, f_size(&file));
f_write(&file, test_arr, ARRSIZE, &bw);
f_sync(&file);
STM_EVAL_LEDOff(LED5);
vTaskDelay(600);
}
Сообщение отредактировал IgorKossak - Jul 10 2014, 18:33
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!