背景:我正在評估用Cortex芯片代替FTDI + FPGA + RAM,我正在玩LPC1768 dev卡。作爲HID通過python與LPC1768通信
指示燈閃爍? [X]通過虛擬通訊端口 通訊[X]
現在我在看的libusb通過通信(無論是CDC或HID ...評估)
,我開始試圖通過這個例子:https://developer.mbed.org/cookbook/USBHID-bindings- &的程序編譯並運行USBHID_TestCase。
問題出在python方面(使用linux example & libUSB)。
的第一個問題是PY腳本有:
mbed_vendor_id = 0x1234
mbed_product_id = 0x0006
同樣的mbed USBDevice:USBHID有:
USBHID(uint8_t output_report_length = 64, uint8_t input_report_length = 64, uint16_t vendor_id = 0x1234, uint16_t product_id = 0x0006, uint16_t product_release = 0x0001, bool connect = true);
即相同的產品和供應商ID。但是... lsusb在另一個位置列出了NXP芯片組。
Bus 003 Device 008: ID 0d28:0204 NXP LPC1768
發行:的lsusb -vvv -d 0x0d28:0204我可以看到4臺設備,這個卡自曝(好),這是由一個簡單的Python匹配的TestCase
import usb
mbed_vendor_id = 0x0d28
mbed_product_id = 0x0204
dev = usb.core.find(idVendor=mbed_vendor_id,idProduct=mbed_product_id)
檢查什麼dev的現在填充有:
dev[0]
<CONFIGURATION 1: 500 mA>
dev[0][(0,0)]
<INTERFACE 0: Mass Storage>
[0] <ENDPOINT 0x82: Bulk IN>
[1] <ENDPOINT 0x2: Bulk OUT>
[2] <ENDPOINT 0x0: Control OUT>
dev[0][(1,0)]
<INTERFACE 1: CDC Communication>
[0] <ENDPOINT 0x83: Interrupt IN>
[1] <ENDPOINT 0x0: Control OUT>
dev[0][(2,0)]
<INTERFACE 2: CDC Data>
[0] <ENDPOINT 0x4: Bulk OUT>
[1] <ENDPOINT 0x84: Bulk IN>
[2] <ENDPOINT 0x0: Control OUT>
dev[0][(3,0)]
<INTERFACE 3: Human Interface Device>
[0] <ENDPOINT 0x81: Interrupt IN>
[1] <ENDPOINT 0x1: Interrupt OUT>
[2] <ENDPOINT 0x0: Control OUT>
所以0是大容量存儲 - >從例子中的Python腳本竟被不工作。我一直試圖通過dev [0] [3,0]進行通信,並通過指定端點爲dev [0] [3,0] [0]我可以寫入但從dev [0] [3,0] [ 1]總是返回0,即使mbed代碼旨在提供隨機數據。
任何想法的?