pywinusb使用

pywinusb是一个python用usb hid模式通信的模块,安装和下载方法这里不说

在使用这个模块进行usb通信的时候,发送和接收数据需要注意一点:

在定义的发送数据的端点使用的是0的时候,发送数据的列表的 第一个元素必须为0,因此列表的长度实际就为65,

端点0 即在write函数中表象为report[0]:,如果使用的是usb的其他端点,相对应的report[0]改为其他的端点标识,usb通信的端点有8个,0-7,  0端点在从设备上是用来的进行枚举过程的

def write(self,sendlist):

    if self.report:

        self.report[0].set_raw_data(sendlist)   #这个函数在模块内部有注明

        byte_num = self.report[0].send()


 def send_data(self):
        buf = [0x05, 0xfa, 0x01]
        myhid = usbmian.hiddevice(0x0483, 0x5750)
        myhid.start()
        myhid.setfilecallback()
        send_list = [0x00 for i in range(65)]
        for j in range(8):
            send_list.pop(j + 1)
        send_list.insert(1, 0xaa)  # 传进去的列表第一个位置的元素是report_id,由于里面用的是0,所以第一个位置为0,不能改为其他
        send_list.insert(2, 0xaa)
        send_list.insert(3, 0x05)
        send_list.insert(4, 0xfa)
        send_list.insert(5, 0x01)
        # send_list.insert(6, 0x01)
        send_list.insert(6, (self.crc16(buf, 3) & 0xff))
        send_list.insert(7, ((self.crc16(buf, 3) >> 8) & 0xff))
        send_list.insert(8, 0x55)
        myhid.write(send_list)
        self.textEdit.setText(str(send_list))

        time.sleep(0.5)

至于使用上可以参考jakey.chen大神的分享。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值