PadenieShtanov 0 6 июня, 2022 Опубликовано 6 июня, 2022 · Жалоба Приветствую, столкнулся с проблемой при записи данных с АЦП, посредством библиотеки FATFS на SD карту. Данные с АЦП формируются в массив, после чего последовательностью функций f_mount, f_open, f_write записываются на SD карту, однако иногда функция f_write возвращает результат FR_INVALID_OBJECT и запись прерывается. Копнув глубже увидел что такой статус появляется из за того, что функция HAL_SD_GetCardState возвращает странный статус HAL_SD_CARD_SENDING, который описан как sd card is sending operation information. Большего описания нигде не нашел. Проблема исчезает посредством увеличения делителя частоты тактирования SDIO, что в свою очередь значительно режет скорость передачи созданного файла с данными на пк посредством USB HS, с чем вроде можно и свыкнуться, но хотелось бы разобраться в чём причина. Возможно кто-то сталкивался с подобной проблемой и может помочь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DanilinS 4 10 июля, 2022 Опубликовано 10 июля, 2022 · Жалоба HAL_SD_CARD_SENDING - карта занята. Скорее всего не успела завершится предшествующая операция. Немного подожди и повтори операцию. По всем признакам карта просто захлебывается потоком. Попробуй более скоростную карту использовать. Или подбери входную скорость (путем изменения частоты тактирования) такую, что-бы такого эффекта не было. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться