【发布时间】:2019-08-29 01:33:56
【问题描述】:
我一直在尝试将 USB 输入与 libusb 相交。我可以成功检测并连接到设备,但无法从设备读取。
我有一个监控设备,可以与它自己的软件完美配合。但我需要将数据获取到 python 以进行进一步分析。
import usb.core
dev = usb.core.find(idVendor=0x09da, idProduct=0xc10a)
import usb1
with usb1.USBContext() as context:
handle = context.openByVendorIDAndProductID(0x09DA,0xC10A,skip_on_error=True)
Ep = dev[0][(0,0)][0]
while True:
data = handle.bulkRead(0x5, 8)
OSError Traceback(最近一次调用最后一次) 在 4 Ep = dev[0][(0,0)][0] 5 当真: ----> 6 个数据 = handle.bulkRead(0x5, 8)
c:\users\admin\appdata\local\programs\python\python36\lib\site-packages\usb1__init__.py in bulkRead(self, endpoint, length, timeout) 1567 数据,data_buffer = create_binary_buffer(长度) 1568 尝试: -> 1569 传输 = self._bulkTransfer(端点、数据、长度、超时) 1570 除了 USBErrorTimeout 作为异常: 1571 exception.received = data_buffer[:exception.transferred]
c:\users\admin\appdata\local\programs\python\python36\lib\site-packages\usb1__init__.py in _bulkTransfer(self, endpoint, data, length, timeout) 1516 尝试: 1517 mayRaiseUSBError(libusb1.libusb_bulk_transfer( -> 1518 self.__handle,endpoint,data,length,byref(transferred),timeout, 第1519章) 1520 除了 USBErrorTimeout 作为异常:
OSError:异常:访问冲突读取 0x0000000000000040
【问题讨论】:
-
可能与此 github.com/pyusb/pyusb/issues/203 有关,请检查您的库版本
-
按照他们的建议尝试了旧版本。但它并没有解决问题