2016-02-22 2 views
0

Как отправить и прочитать байт данных из LPC1347 с конфигурацией HID с использованием библиотеки Java и USB4Java?LPC1347 USB4Java

я могу идентифицировать устройство со следующими свойствами:

private static short VENDORID = 0x1fc9;// 8137 
private static short PRODUCTID = 0x2000;// 8192 

конечными точками на LPC1347 являются:

private static short HID_ENDPOINT_OUT = 0x01; 
private static short HID_ENDPOINT_IN = 0x81; 

В моем коде я использовал следующее:

UsbEndpoint endpoint = iface.getUsbEndpoint((byte) 0x55); 
UsbPipe pipe = endpoint.getUsbPipe(); 
pipe.open(); 
try { 
// read 
byte[] data = new byte[8]; 
int received = pipe.syncSubmit(data); 
System.out.println(received + " bytes received"); 
} finally { 
pipe.close(); 
} 

И я получаю следующую ошибку:

USB Ошибка 1: Ошибка передачи на прерывание конечной точки: вход/выход Ошибка

Также в LPC1347 выставиться следующее: EXTERN uint8_t InReport [23]; extern uint8_t OutReport [23];

Для первого байта я использую для чтения отчета (INPUT_REPORT) 0x55 и для записи (OUTPUT REPORT) 0xAA.

ответ

0

Я не вижу, что вы заявили интерфейс перед отправкой данных. Попробуйте следующее:

iface.claim(new UsbInterfacePolicy() 
    {    
     @Override 
     public boolean forceClaim(UsbInterface usbInterface) 
     { 
      return true; 
     } 
    }); 

Тогда вы можете вставить свой код. И в конце концов вы должны освободить интерфейс (я бы сделал в окончательно-оговорке):

+0

спасибо, сейчас он работает. –

Смежные вопросы