В любом случае, через какое USB-устройство известно, что данные считываются из буфера конечной точки? - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь эмулировать USB-клавиатуру с помощью библиотеки устройств USB STM32. Хостом здесь является не компьютер / ноутбук, а пользовательское устройство, к которому можно подключить HID-клавиатуру. Я отправляю данные, используя API USBD_HID_SendReport (); но хост, кажется, не распознает и не читает его, когда я пишу новые данные через тот же API. Если я отправляю те же данные, скажем, 7 раз, то хост читает их только 4 раза

Так есть ли в любом случае информация о том, что данные USB-хоста считываются из буфера EP?

Должен ли я изменить дескриптор конечной точки bInterval, каков стандартный интервал используется в случае всех клавиатур?

PS Одни и те же данные при отправке на компьютер или ноутбук быстро считываются хостом.

1 Ответ

2 голосов
/ 09 марта 2020

USBD_HID_SendReport подготавливает данные для следующего преобразования, только когда хосту требуется один . Неважно, сколько раз вы вызываете эту функцию. Он будет отправлен только столько раз, сколько запрошено хостом. Момент отправки зависит только от хоста.

Устройство не передает ничего без запроса хоста

...