Страница 1 из 1

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

Добавлено: Сб апр 20, 2024 15:01:53
jockerface
Здравствуйте, форумчане.

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

В чём может быть дело?

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

Добавлено: Сб апр 20, 2024 21:53:05
Martian
В какой именно функции FatFS происходит возврат FR_INVALID_OBJECT?
FF_FS_REENTRANT?

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

Добавлено: Вс апр 21, 2024 13:17:20
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

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

Добавлено: Вс апр 21, 2024 17:57:54
Martian
Вы полагаете, что Ваш ответ однозначно указал место возникновения ошибки? Функция disk_read() вызывается во множестве других функций, и в некоторых не один раз. Кроме того, её реализацию обязан писать пользователь, а значит, причина ошибки может быть и не в FatFs.