Перейти к содержанию
    

STM32F103RCT6+SDIO+FatFs+CubeMX

Всем день добрый!

Что-то типа логгера. Сделана псевдо-RTOS, т.е. несколько задач последовательно перебираются. Примерно так:

1. Опросить датчик.

2. Записать в файл на uSD

3. Опросить FTP-сервер

...

По FTP выполняется отдача записанных ранее файлов.

 

Если не коннектиться по FTP, то все ОК, если скачивать по FTP, но не писать лог, тоже все ОК. Но при одновременной работе периодически вылетает в FR_DISK_ERR. Если уменьшить клок на карточку, частота вылета уменьшается. Если после f_write поставить задержку, тоже уменьшается.

Объекты FIL для чтения и записи разные. Буферы тоже разные, пробовал включать/выключать DMA. Пробовал после f_write поставить while (GetStatus() != TRANSFER_OK);, не помогает.

Скорее всего не успевают записаться данные на карточку, но вроде это должно контролироваться? Может кто сталкивался с таким?

Спасибо!

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...