如何提高pyusb的阅读速度?

时间:2019-01-29 09:18:52

标签: python-3.x pyusb

我在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:\FlowFluorescence\1.mywork\experiment\data\201901290000.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'\x11\x11')

while True:
     try:
        data = data + dev.read(0x86,512,100)
    except usb.core.USBError:
        break

file.write(data)
file.close()

如何提高pyusb的阅读速度?我至少需要10MB / s。希望您的回答。

1 个答案:

答案 0 :(得分:0)

我发现这种方式更快。<​​/ p>

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。