擅长:python、mysql、java
<p>这是我的代码,它与运行TI的datapipe USB堆栈的MSP430F芯片一起工作。这基本上是hid输入和输出端点,它们充当自定义数据管道,允许我以任何格式发送64个字节,除了第一个字节是十进制63的ID号(由TI定义),第二个字节是数据包中相关或有用的字节数(最大64字节的数据包),前两个字节被描述上面。我花了一段时间才弄清楚,主要是因为缺少文档。pywinusb附带的几个例子顶多很难学习。总之这是我的密码。它正在与我的微,所以这应该会帮助你。</p>
<pre><code> filter = hid.HidDeviceFilter(vendor_id = 0x2048, product_id = 0x0302)
hid_device = filter.get_devices()
device = hid_device[0]
device.open()
print(hid_device)
target_usage = hid.get_full_usage_id(0x00, 0x3f)
device.set_raw_data_handler(sample_handler)
print(target_usage)
report = device.find_output_reports()
print(report)
print(report[0])
buffer = [0xFF]*64
buffer[0] = 63
print(buffer)
report[0].set_raw_data(buffer)
report[0].send()
</code></pre>
<p>有一个地方可能会把你搞砸:</p>
<pre><code>out_report = device.find_output_reports()[0]
</code></pre>
<p>尝试使用“out_report=device.find_output_reports()”,但不要在结尾使用“[0]”。
然后使用</p>
<pre><code>out_report[0].set_raw_data(buffer)
</code></pre>
<p>最后</p>
<pre><code>out_report[0].send()
</code></pre>
<p>希望这能帮到你。</p>