Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Непонятные транзакции в обмене с HID устройством
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Serg_Sm
Есть простейшее HID-устройство. Обмен только через Control Endpoit, размер 8 байт (сделано на SAM7).
Никакого другого обмена через Interrupt, Bulk нет.
В софте данные передаются HidD_SetOutputReport и принимаются HidD_GetInputReport. Это под Windows XP SP2.
В итоге после OUT транзакции следует непонятная IN, а после IN следовательно OUT.
Даже если просто слать данные без приема за транзакциями OUT всегда следует IN (а за IN - OUT).

Хочется от них избавиться, поскольку уменьшают пропускную способность шины, а то и без них 4000 байт/секунду максимум получается (учитывая SETUP).

HID-репорт и сами транзакции на рисунке для наглядности:
Нажмите для просмотра прикрепленного файла

PS: Посмотрел - эти пустые транзакции есть везде, включая дескрипторы и т.п. Взял готовое USB-устройство - там тоже самое.
редактор
Вероятно размер данных конечной точки 8 байт. Поэтому передается пустой пакет, как признак завершения мультипакетной передачи.
При размере данных равном (или кратном) размеру конечной точки пустой пакет всегда присутствует.
То есть если размер вашего репорта будет 16 (24,32) байта, а размер конечной точки 8, то последний пакет в тразакции всегда должен быть 0-й длинны.
Serg_Sm
Цитата(редактор @ Apr 25 2013, 11:21) *
Вероятно размер данных конечной точки 8 байт. Поэтому передается пустой пакет, как признак завершения мультипакетной передачи.
При размере данных равном (или кратном) размеру конечной точки пустой пакет всегда присутствует.
То есть если размер вашего репорта будет 16 (24,32) байта, а размер конечной точки 8, то последний пакет в тразакции всегда должен быть 0-й длинны.

Это здесь совсем не причем. К примеру передается строковой дескриптор размером 12 байт. После пакета SETUP следует 2 пакета IN (8+4 байта), а потом еще один пустой OUT.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.