python通信_python的USB通信

手头有个用libusb-win32驱动的USB设备,idVendor= 0x5345, idProduct= 0x1234,就来测试下pyusb模块的应用,pyusb让usb编程变得简单和方便,支持libusb 0.1.x(libusb-win32采用此库), libusb 1.x, and OpenUSB,主要测试发送和接收数据,usb设备信息如下:

201719_4hBK_1049414.jpg

代码如下:

import usb.core

import usb.util

import sys

dev = usb.core.find(idVendor= 0x5345, idProduct= 0x1234)

cfg = dev.get_active_configuration()

intf = cfg[(0,0)]

ep = usb.util.find_descriptor(

intf,

# match the first OUT endpoint

custom_match = \

lambda e: \

usb.util.endpoint_direction(e.bEndpointAddress) == \

usb.util.ENDPOINT_OUT

)

print 'The length of data(write USB) is:', ep.write('WANTFORGETTXT')

ep_read = usb.util.find_descriptor(

intf,

# match the first IN endpoint

custom_match = \

lambda e: \

usb.util.endpoint_direction(e.bEndpointAddress) == \

usb.util.ENDPOINT_IN

)

data_len = ep_read.read(4)

print 'Get USB data:',data_len

len = (data_len[3] << 24) + (data_len[2] << 16) + (data_len[1] << 8) + data_len[0]

print 'data len is:',len

dev.reset() 结果如下:

202639_ONvU_1049414.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值