cythonhidapi问题,发送功能报告或chr()

2024-06-07 13:30:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这段代码,它在Windows和macosx上使用python2.7.6运行良好。我正在使用cython hidapi接口从Voltcraft VC870功率表读取数据。要获取数据,如果首先需要向设备发送功能报告,则:

buf = [0x00, 0x80, 0x25, 0x00, 0x00, 0x03]
res = hid.device().send_feature_report(buf);

在Windows8.1和MacOSXMavericks上,这项工作很好,并返回一个非负值。但是,Linux上的相同代码返回一个负数。我相信这意味着设备无法理解发送的功能报告。在

从hid(cython hidapi)调用的代码如下:

^{pr2}$

我不太熟悉C类型或字节级处理。我最初怀疑这句话:

  buff = ''.join(map(chr, buff))

是罪魁祸首,因为chr(0x80)在我的系统中输出了不同的值。但我想知道是否有人能解释一下这里的问题并提出解决办法。在


Tags: 代码功能windows报告读取数据cythonmacosxbuff

热门问题