我有一个UPS输出数据,如电池状态,通过串口。此UPS通过USB连接到计算机,使用串口连接到USB适配器。通过自定义协议,可以与超级终端通信。
是否可以使用UPS的USB输出为Windows编写HID电源设备驱动程序?此驱动程序应将自定义协议转换为HID电源设备协议。
发布于 2013-12-08 17:24:28
是的,这可以通过编写WDM或KMDF USB HID迷你驱动程序为您的UPS。在HID Mini驱动程序中,必须定义HID报告描述符,并在hid集合中使用USB电源设备。在该驱动程序中,您需要配置并枚举用于虚拟串口通信的USB管道。您必须直接从USB管道发送和接收数据。
在这个HID迷你驱动程序中,一旦您定义了报表描述符,使用页面(如电池系统)作为hid报告的必要用途,并处理来自顶级HID类驱动程序的IOCTL调用,您可以在Windows设备管理器中看到您的UPS附加为HID UPS电池。您可以将UPS视为具有充电状态、交流电源状态、电源选项面板和系统托盘中电池剩余容量%的电池,就像我们在系统托盘上的笔记本电脑电池状态中看到的一样。
此外,您还可以发送现有的UPS命令-您现在通过超级终端发送的-然后将通过HID调用(如HidD_GetFeature、HidD_SetFeature、HidD_GetInputReport、HidD_SetOutputReport函数)从自定义开发的应用程序中根据您的需求发送。
https://stackoverflow.com/questions/19112712
复制相似问题