我正在尝试让 node-hid ( https://github.com/node-hid/node-hid ) 模块在 Windows 7 上运行。我可以打开一个设备并写入它,但没有数据到达。
我已验证设备正在发送数据。我已经挖掘了节点隐藏代码(HID.cc)并尝试了几件事来让它工作:
- 修改了 HID::recvAsync 函数以在循环中使用 hid_read_timeout 来查看它是否会返回任何内容。
- 设置阻塞和非阻塞。
- 更改缓冲区大小以完全适合设备发送的内容。
在 Windows 8 上,随着 hid_read_timeout 调用的改变,这一切都很好。我不确定这两个系统之间可能发生了什么变化,但我也计划在 Windows XP 上使用它,所以我不能说它很好。
我正在努力想出更多关于如何调试这个问题的想法。有没有人成功地做到过这一点?将 Node.js 与 HID 设备一起使用是否有更好的选择?