首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中使用pywinusb读取数据

如何在python中使用pywinusb读取数据
EN

Stack Overflow用户
提问于 2019-07-17 02:19:49
回答 1查看 2.6K关注 0票数 0

我不能在python中使用pywinusb来读取hid数据。

我提到了这个页面(windows/)

我也有疑问。

def sample_handler(数据):打印(“原始数据:{0}”.format(数据))

sample_handler函数需要数据。

device.set_raw_data_handler(sample_handler)

此代码不向sample_handler提供数据。这不是错误吗?

下面是我的密码。我的代码没有捕获read_handler函数。我怎么才能修好它。你能帮我一下吗?

代码语言:javascript
复制
from pywinusb import hid
import time

class PIC18f:
    def __init__(self, VID = 0x04D8, PID=0x003f):

        filter = hid.HidDeviceFilter(vender_id = VID, product_id = PID)
        self.devices = filter.get_devices()
        self.device = self.devices[0]
        self.device.open()


    def write(self, args):

        out_report = self.device.find_output_reports()
        out_report[0].set_raw_data(args)
        out_report[0].send()
        time.sleep(1)

    def read_handler(self, data):
        print("Raw data: {0}".format(data))
        print("done")

    def I2C_Init(self):

        buf = [0x00]
        buf = buf + [0 for i in range(65-len(buf))]

        buf[1] = 0xF1
        buf[2] = 0x1D
        self.write(buf)
        self.device.set_raw_data_handler(read_handler)

test = PIC18f()
test.I2C_Init()

这是错误。

回溯(最近一次调用):文件"d:/1. Siliconmitus/python/test2.py",第35行,在test.I2C_Init() test.I2C_Init文件“d:/1”中,I2C_Init NameError: name 'read_handler‘中的第32行

EN

回答 1

Stack Overflow用户

发布于 2020-06-24 04:20:47

  1. 没有定义read_handler,因为"read_handler“应该在I2C_Init中定义。
  2. 以下是一个例子:
代码语言:javascript
复制
from pywinusb import hid
filter = hid.HidDeviceFilter(vendor_id = 0x0001, product_id = 0x0002)
devices = filter.get_devices()

device = devices[0]

def readData(data): 
    print(data) 
    return None 
    
device.set_raw_data_handler(readData) 
device.open()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57067692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档