背景:我正在评估用Cortex芯片替换FTDI+FPGA+RAM,我在玩LPC1768开发卡。在
LED闪烁?[x] 通过虚拟端口S通信
现在我想通过libUSB通信(CDC或HID。。。评估)
我从这个例子开始:https://developer.mbed.org/cookbook/USBHID-bindings-&USBHID_TestCase程序编译并运行。在
问题出在python方面(使用linux示例和libUSB)。在
第一个问题是py脚本有:
mbed_vendor_id = 0x1234
mbed_product_id = 0x0006
同样是mbedUSB设备:USBHID有公司名称:
^{pr2}$即相同的产品和供应商ID。但是。。。lsusb列出了不同位置的NXP芯片组。在
Bus 003 Device 008: ID 0d28:0204 NXP LPC1768
发布:lsusb-vvv-d0x0d28:0204我可以看到这张卡公开的4个设备(很好),这与一个简单的python测试用例匹配
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代码旨在提供随机数据。在
有什么主意吗?在
USB测试用例代码使用lpc1768 ic上的USB控制器,而不是mbed板的接口芯片。代码使用mbed板上的引脚31和32。 希望这有帮助。在
相关问题 更多 >
编程相关推荐