使用PyUSB进行同步读/写

时间:2015-09-30 15:31:28

标签: libusb pyusb

如果底层后端支持同步传输,PyUSB 1.0声称现在支持等时传输。我已经弄清楚如何选择支持等时传输的libusb1.0后端,但我不确定如何实际实现读写​​。我搜索过互联网,找不到使用PyUSB的例子。帮助

1 个答案:

答案 0 :(得分:3)

好的,所以我回答了我自己的问题,因为我找到了解决方案。事实证明,PyUSB将根据所操作的端点类型自动选择正确的读/写方法。来自'write'定义中的core.py,请参阅:

fn_map = {
            util.ENDPOINT_TYPE_BULK:backend.bulk_write,
            util.ENDPOINT_TYPE_INTR:backend.intr_write,
            util.ENDPOINT_TYPE_ISO:backend.iso_write
        }

类似于'read'的定义,请参阅:

fn_map = {
            util.ENDPOINT_TYPE_BULK:backend.bulk_read,
            util.ENDPOINT_TYPE_INTR:backend.intr_read,
            util.ENDPOINT_TYPE_ISO:backend.iso_read
        }

所以真的,所有需要做的就是调用{device} .read()或{device} .write(),代码将处理分配适当的操作。

我打算删除我的问题而不是回答它,但由于同步传输对于PyUSB来说相对较新,我希望这可以帮助其他人不浪费一整天时间来发现我刚刚做了什么:)