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

Bulk transfer STM32F429

Не получается отправить балк пакет из device (STM32F429 full speed) на host.

 

USBD_LL_Transmit на STM32F429 вызвано заранее.

 

На host libusb исполняется код запроса на чтение пакета балк:

 

 

char data[0x40];

status = libusb_bulk_transfer( handle, 0x82, data, sizeof(data), &actual_length, 1000 );

printf("libusb_bulk_transfer, status=%d, actual_length=%d\n", status, actual_length );

return 0;

 

После исполнения libusb_bulk_transfer status равен -7, что значит таймаут.

 

 

Код сгенерирован на Кубе и компилирован под Кокосом.

 

Буду признателен если укажете на пример использования.

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


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

Попробуйте пакет длиной не 64 байта. Если приходит пакет длиной с максимальный размер - хост ждет ещё данных.

Для завершения передачи должен прийти пакет меньшей длины или нулевой длины.

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


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

Спасибо за совет, но не помогло.

Проблема была в том, что пытались использовать endpoint 0х83, а при переходе на 0х81 заработало.

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


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

Попробуйте пакет длиной не 64 байта. Если приходит пакет длиной с максимальный размер - хост ждет ещё данных.

Для завершения передачи должен прийти пакет меньшей длины или нулевой длины.

 

Не правильно.

Во первых хост запрашивает данные, если поступил запрос от драйвера.

Во вторых в USB 2.0 введен признак "последнего" пакета данных.

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


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

Во вторых в USB 2.0 введен признак "последнего" пакета данных.

Поясните? Я тут недавно маялс с ZLP, читал спеи, про это слышу впервые, может быть, корень и моих проблем -тут

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


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

Последний пакет меньше максимальной длины или вообще нулевой длины, если передавать больше нечего .

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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