我正在设计一个 USB 外设,它偶尔会连接到 Windows PC,并在每个方向上传输几 KB 的数据。将有一个自定义 PC 应用程序使用专有协议(即 USB 有效负载)来控制数据传输。
我在下面的链接中看到微软描述的how为 USB 设备编写驱动程序。但我需要一个吗?
为 USB 设备开发 Windows 客户端驱动程序 https://msdn.microsoft.com/en-us/library/windows/hardware/hh406260(v=vs.85).aspx
PC 应用程序是我们想要知道如何与设备通信的唯一应用程序,因此从应用程序共享的角度来看,不需要驱动程序。
我可以直接将自定义协议烘焙到应用程序中,让应用程序与设备对话“原始 USB”,并且无需单独的驱动程序吗?
“原始 USB”,不,您不能通过应用程序执行此操作。
但因为您也控制该设备,所以您可以将其显示为 Windows 提供的设备驱动程序的设备类之一,该设备驱动程序足够通用,可以执行您想要的任何操作。
这些设备类别是 HID(人机接口设备)和“WinUSB”。其中,HID 是跨平台的,但功能更有限,WinUSB 允许高性能数据传输以及中断端点。
有关设置设备的字符串描述符以便 Windows 自动将其绑定到 WinUSB 驱动程序的说明如下:on MSDN https://msdn.microsoft.com/en-us/library/windows/hardware/hh450799(v=vs.85).aspx
WinUSB 设备是通用串行总线 (USB) 设备,其固件定义了某些 Microsoft 操作系统 (OS) 功能描述符,这些描述符将兼容 ID 报告为"WINUSB"
.
WinUSB 设备的目的是使 Windows 能够加载 Winusb.sys 作为设备的功能驱动程序,而无需自定义 INF 文件。对于 WinUSB 设备,您无需为设备分发 INF 文件,这使得最终用户的驱动程序安装过程变得简单。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)