前言USB模块作为PC上最风行和标准化的模块,不具备可相连多种类型的设备,相连非常简单,即插即用,反对冷挂拨给,多数应用于场景下不必须获取独立国家的电源,低传输速率,高可靠性等特点,被更加多的产品作为选用模块作为终端PC的相连方式。为了修改USB设备的研发和终端到PC系统,微软公司研发了WinUSB,可以将Winusb.sys作为设备功能驱动程序加装,并获取WinUSBAPI供应用程序采访设备。
仍然以来,除了USBHID设备,其他类型的设备在WINDOWS环境下必须加装驱动程序才能工作。要构建USB设备免驱,就不能用于HID设备。而HID设备传输速度快,在有些场合必需用于Bulk类型展开批量传输时,就必需用于第三方驱动或者自己研发一个驱动,使得项目研发十分困难。现在好了,自从微软公司发售了WinUSB,在微软公司的近期操作系统上构建非常简单的Bulk类型批量传输也显得十分的方便快捷,在研发过程当中或者一些对于差异化拒绝不高的场合,是十分限于且更容易构建的。
本文致力于构建一个最简单的WinUSB通信系统,以符合此类市场需求。如何让嵌入式设备枚举成WinUSB设备系统通过USB描述符来确认以何种USBClass类型来工作。
如果期望WINDOWS需要将嵌入式设备辨识为WinUSB设备,则其描述符最少应该包括以下字段:1、反对OS字符串描述符:为了让USB驱动程序堆栈理解设备反对拓展的特征描述符,设备必需定义存储在字符串索引0xEE处的OS字符串描述符。在枚举过程中,驱动程序堆栈查找字符串描述符。如果不存在描述符,驱动程序堆栈不会假设设备包括一个或多个OS特征描述符和检索这些特征描述符所必须的数据。
检索的字符串描述符具备bMS_VendorCode字段值。该值为1回应USB驱动程序堆栈必需用来检索拓展特征描述符的供应商代码。
本文关键词:酷游ku官网
本文来源:酷游ku官网-www.andymdavidson.com