2016-03-29 4 views
0

Я пытаюсь отправить изохронные передачи в микроконтроллер на Arduino Due с использованием библиотеки Libusb 1.0 и драйвера libusk, установленного с помощью zadig_2.2.Ошибка Libusb не поддерживается

Массовые переводы работают отлично, но когда я пытаюсь инициировать изохронный перевод, я получаю код ошибки «ошибка не поддерживается». Как я понимаю, libusb теперь должен поддерживать изохронные передачи для Windows.

Я использую Visual Studio 2015

Любые идеи?

ответ

1

Это может быть две проблемы со стороны Arduino. Вы должны настроить:

  1. Конфигурация конечных точек.
  2. USB-конфигурации дескриптора (конечная точка должна быть сконфигурирована как изохронный тип передачи)

Например:

  ===>Endpoint Descriptor<=== // <-------- This is the one I'm using. 
bLength:       0x07 
bDescriptorType:     0x05 
bEndpointAddress:     0x81 -> Direction: IN - EndpointID: 1 
bmAttributes:      0x01 -> Isochronous Transfer Type, Synchronization Type = No Synchronization, Usage Type = Data Endpoint 
wMaxPacketSize:     0x0040 = 1 transactions per microframe, 0x40 max bytes 
bInterval:       0x01 

      ===>Endpoint Descriptor<=== 
bLength:       0x07 
bDescriptorType:     0x05 
bEndpointAddress:     0x02 -> Direction: OUT - EndpointID: 2 
bmAttributes:      0x01 -> Isochronous Transfer Type, Synchronization Type = No Synchronization, Usage Type = Data Endpoint 
wMaxPacketSize:     0x0040 = 1 transactions per microframe, 0x40 max bytes 
bInterval:       0x01 
Смежные вопросы