c语言 - 如何在客户端应用程序中使用 "control endpoint"(默认终结点)?



我有USB HID设备,它只有控制端点。Microsoft的"USB设备查看器"指示0个端点,因为它从不计算控制端点
我对这个设备了解不多——对我来说,它基本上是黑匣子。我只知道,它是HID类的,能够进行简单的串行通信("电缆的另一端"有单线)
至于硬件,有AVR MCU(没有太多帮助)。至于FW,它使用了VID,PID,它对谷歌没有任何说明(显然是虚构的)

我在这里指出,在配置USB设备后,可以使用控制端点进行设备特定用途
我的问题是:
在Windows 7下,使用WDK是否可以在用户空间应用程序中使用控制端点

如果没有,还有其他方法吗
如果是,如何

HidD_GetHidGuid(&guid);甚至没有列出我的设备。可能是因为设备声称是0x00类,而不仅仅是在设备描述符中:
*bDeviceClass: 0x00 -> This is an Interface Class Defined Device*
但也在接口描述符中:

bInterfaceClass:                   0x00
*!*CAUTION:  0 is a Reserved USB Device Interface Class

您运行Wireshark了吗?(尽管我相信Wireshark不会在windows上监控USB,但我不确定。周围还有其他USB数据包嗅探器)

使用wireshark,您可以监控与设备的所有通信。

虽然我不知道WDK,但我的印象是,即使不是大多数人,也有很多人使用libusb(http://libusb.info/)。有一个Windows版本可以在32位和64位版本上运行。这个库非常容易使用,并且可以访问所有端点。

相关内容

  • 没有找到相关文章

最新更新