Некорректно работает USB при переходе на GD32

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Родился
Сообщения: 18
Зарегистрирован: Пн апр 11, 2022 16:41:09

Сообщение jockerface »

Здравствуйте, форумчане.

Переносил код с STM32F407 на GD32F450. Всё заработало корректно, кроме USB. Почему-то правильно считывает только ~15360 байт, затем выдаёт ошибку INVALID_OBJECT. После перезапуска по питанию то же самое. Использую библиотеку FatFS. Флешки менял и файлы тоже. Результат тот же.

В чём может быть дело?
Реклама
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

В какой именно функции FatFS происходит возврат FR_INVALID_OBJECT?
FF_FS_REENTRANT?
Контактная информация:
Реклама
Родился
Сообщения: 18
Зарегистрирован: Пн апр 11, 2022 16:41:09

Сообщение jockerface »

[uquote="Martian",url="/forum/viewtopic.php?p=4571072#p4571072"]В какой именно функции FatFS происходит возврат FR_INVALID_OBJECT?
FF_FS_REENTRANT?[/uquote]

Добрый день! Посмотрел невнимательно. Ошибка возникает FR_DISK_ERR, на проверке условия

Код: Выделить всё

disk_read(fs->drv, fp->buf, sect, 1) != RES_OK
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

Вы полагаете, что Ваш ответ однозначно указал место возникновения ошибки? Функция disk_read() вызывается во множестве других функций, и в некоторых не один раз. Кроме того, её реализацию обязан писать пользователь, а значит, причина ошибки может быть и не в FatFs.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Ответить

Вернуться в «Разные вопросы по МК»