eu1cc 0 24 января, 2017 Опубликовано 24 января, 2017 · Жалоба Всем день добрый! Что-то типа логгера. Сделана псевдо-RTOS, т.е. несколько задач последовательно перебираются. Примерно так: 1. Опросить датчик. 2. Записать в файл на uSD 3. Опросить FTP-сервер ... По FTP выполняется отдача записанных ранее файлов. Если не коннектиться по FTP, то все ОК, если скачивать по FTP, но не писать лог, тоже все ОК. Но при одновременной работе периодически вылетает в FR_DISK_ERR. Если уменьшить клок на карточку, частота вылета уменьшается. Если после f_write поставить задержку, тоже уменьшается. Объекты FIL для чтения и записи разные. Буферы тоже разные, пробовал включать/выключать DMA. Пробовал после f_write поставить while (GetStatus() != TRANSFER_OK);, не помогает. Скорее всего не успевают записаться данные на карточку, но вроде это должно контролироваться? Может кто сталкивался с таким? Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
eu1cc 0 25 января, 2017 Опубликовано 25 января, 2017 · Жалоба Может _FS_REENTRANT в 1 поможет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться