如何与 Windows 上的 USB-HID 设备通信?
Posted
技术标签:
【中文标题】如何与 Windows 上的 USB-HID 设备通信?【英文标题】:How to communicate to USB-HID device on windows? 【发布时间】:2013-08-10 06:04:38 【问题描述】:我不是 Windows 专家,也没有 Windows 驱动程序的开发经验,但在 Linux 中也做过同样的事情。
我的系统: 我有一个被 Windows 识别为数字化仪的 HID 设备(触摸屏),并且一切正常(不需要额外的驱动程序)。 HID 使用接口 0 和基于中断的 IN 端点(就像在任何 HID 设备中一样),并且触摸信息在此接口上发送到 Windows。我有另一个接口 1,它有一个 OUT 和 IN 中断端点,可以发送 64 字节的数据。作为所有 USB 设备,我有 End Point 0 来发送控制传输。
我的问题 我必须通过接口 0、接口 1 和控制端点与此设备通信,以升级触摸芯片的固件和一些诊断参数。 我在 Linux 中使用 libusb 轻松完成所有这些事情。但是windows我什么都做不了。也请在这里查看我的努力libusb_open returns 'LIBUSB_ERROR_NOT_SUPPORTED' on Windows 7
我想用 Qt 和一些基于 USB 的驱动程序构建一个工具。任何人都可以请建议我可以用于 USB 通信的最佳接口吗?有什么方法可以使用 MINGW 吗?
【问题讨论】:
【参考方案1】:你可以使用libusb-win32,它的API兼容Linux中的libusb-0.1。但是您必须安装驱动程序 - 在您的情况下,您可能需要驱动程序的过滤器版本,以便能够像往常一样在您的操作系统中使用 HID 功能。 Libusb-win32 附带一个用于创建驱动程序的向导,它将为设备生成.inf
文件。
驱动程序安装会很棘手:不会提示用户为 HID 兼容设备安装驱动程序。
【讨论】:
以上是关于如何与 Windows 上的 USB-HID 设备通信?的主要内容,如果未能解决你的问题,请参考以下文章