首页 文章

具有串行端口的UPS的HID电源设备驱动程序

提问于
浏览
0

我有一台UPS通过串口输出数据,如电池状态 . 此UPS通过USB连接到计算机,使用串行端口连接USB适配器 . 通过自定义协议,超级终端可以与UPS进行通信 .

是否可以使用UPS的USB输出为Windows编写HID电源设备驱动程序?此驱动程序应将自定义协议转换为HID电源设备协议 .

1 回答

  • 1

    是的,可以通过为您的UPS编写WDM或KMDF USB HID迷你驱动程序来完成 . 在HID Mini驱动程序中,您必须在hid集合中使用USB电源设备用法定义HID报告描述符 . 在该驱动程序中,您需要配置和枚举用于虚拟串行端口通信的USB管道 . 您必须直接从USB管道发送和接收数据 .

    在这个HID迷你驱动程序中,一旦您使用诸如电池系统之类的使用页面定义报告描述符作为隐藏报告并处理来自顶级HID类驱动程序的IOCTL调用,您可以在Windows设备中看到您的UPS作为HID UPS电池连接经理 . 您可以将UPS视为具有充电状态,交流电源状态,电源选项面板以及系统托盘中的电池剩余容量%的电池,就像我们在系统托盘中的笔记本电脑电池状态中看到的那样 .

    您也可以通过超级终端发送您现在发送的现有UPS命令,然后根据您的要求,通过HID API调用(例如HidD_GetFeature,HidD_SetFeature,HidD_GetInputReport,HidD_SetOutputReport函数)从定制开发的应用程序发送 .

相关问题