我在Windows 10中使用python3.7 pyusb1.0.2和libusb-win32-devel-filter-1.2.6.0。
我的FPGA在收到0x1111后通过USB接口以10MB/s的速度将数据发送到我的计算机。它持续十秒钟。我发现我的python程序只能接收部分数据,大约4MB。这是代码:
import usb.core
import usb.util
filename = r'E:FlowFluorescence1.myworkexperimentdata201901290000.txt'
file = open(filename,'wb')
dev = usb.core.find(idVendor=0x04b4, idProduct=0x00f1)
if dev is None:
raise ValueError('Device not found')
dev.set_configuration()
cfg = dev.get_active_configuration()
intf = cfg[(0,0)]
data = b''
dev.write(0x02, b'x11x11')
while True:
try:
data = data + dev.read(0x86,512,100)
except usb.core.USBError:
break
file.write(data)
file.close()
如何提高 pyusb 读取速度?我至少需要 10MB/s。希望得到你的答案。
我发现这种方式更快。
while True:
try:
#data = data + dev.read(0x86,512,100)
data = dev.read(0x86,512,100)
file.write(data)
except usb.core.USBError:
break
这样,它最终读取了28MB。