没有合适的资源?快使用搜索试试~ 我知道了~
USB接口作为PC上和通用的接口,具备可连接多种类型的设备,连接简单,即插即用,支持热插拨,多数应用场景下不需要提供独立的电源,高传输速率,高可靠性等特点,被越来越多的产品作为接口作为接入PC的连接方式。为了简化USB设备的开发和接入到PC系统,微软开发了WinUSB,可以将Winusb.sys作为设备功能驱动程序安装,并提供WinUSB API供应用程序访问设备。一直以来,除了USB HID设备,其他类型的设备在WINDOWS环境下需要安装驱动程序才能工作。要实现USB设备免驱,就只能使用HID设备。而HID设备传输速度慢,在有些场合必须使用Bulk类型进行批量传输时,就必须使用第三方驱动或
资源推荐
资源详情
资源评论
如何让嵌入式设备枚举成如何让嵌入式设备枚举成WinUSB设备设备
USB接口作为PC上和通用的接口,具备可连接多种类型的设备,连接简单,即插即用,支持热插拨,多数应用
场景下不需要提供独立的电源,高传输速率,高可靠性等特点,被越来越多的产品作为接口作为接入PC的连接
方式。为了简化USB设备的开发和接入到PC系统,微软开发了WinUSB,可以将Winusb.sys作为设备功能驱动
程序安装,并提供WinUSB API供应用程序访问设备。一直以来,除了USB HID设备,其他类型的设备在
WINDOWS环境下需要安装驱动程序才能工作。要实现USB设备免驱,就只能使用HID设备。而HID设备传输速
度慢,在有些场合必须使用Bulk类型进行批量传输时,就必须使用第三方驱动或
USB接口作为PC上和通用的接口,具备可连接多种类型的设备,连接简单,即插即用,支持热插拨,多数应用场景下不
需要提供独立的电源,高传输速率,高可靠性等特点,被越来越多的产品作为接口作为接入PC的连接方式。为了简化USB设
备的开发和接入到PC系统,微软开发了WinUSB,可以将Winusb.sys作为设备功能驱动程序安装,并提供WinUSB API供应
用程序访问设备。一直以来,除了USB HID设备,其他类型的设备在WINDOWS环境下需要安装驱动程序才能工作。要实现
USB设备免驱,就只能使用HID设备。而HID设备传输速度慢,在有些场合必须使用Bulk类型进行批量传输时,就必须使用第
三方驱动或者自己开发一个驱动,使得项目开发非常麻烦。现在好了,自从微软推出了WinUSB,在微软的操作系统上实现简
单的Bulk类型批量传输也变得非常的方便快捷,在研发过程当中或者一些对于差异化要求不高的场合,是非常适用且容易实
现的。本文致力于实现一个简单的WinUSB通信系统,以满足此类需求。
如何让嵌入式设备枚举成WinUSB设备
系统通过USB描述符来确定以何种USB Class类型来工作。如果希望WINDOWS能够将嵌入式设备识别为WinUSB设备,
则其描述符至少应当包含以下字段:
1、支持 OS 字符串描述符:
为了让 USB 驱动程序堆栈了解设备支持扩展的特征描述符,设备必须定义存储在字符串索引 0xEE 处的 OS 字符串描述
符。在枚举过程中,驱动程序堆栈查询字符串描述符。如果存在描述符,驱动程序堆栈会假定设备包含一个或多个 OS 特征描
述符和检索这些特征描述符所需要的数据。检索的字符串描述符具有 bMS_VendorCode 字段值。该值为1表示USB驱动程序
堆栈必须用来检索扩展特征描述符的供应商代码。
#define bMS_VendorCode ( 0x01 )
// "MSFT100" : index : 0xEE : langId : 0x0000
const U8 OS_StringDescritpor[ ] =
{ 0x12, 0x03, 'M', 0, 'S', 0, 'F', 0, 'T', 0, '1', 0, '0', 0, '0', 0, bMS_VendorCode, 0 };
2、设置兼容ID特征描述符:
const U8 WINUSB_ExtendedCompatId_Descritpor[ ] =
{
0x28, 0x00, 0x00, 0x00, // dwLength
0x00, 0x01, // bcdVersion
0x04, 0x00, // wIndex
0x01, // bCount
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Reserved[7]
0x00, // bFirstInterfaceNumber
资源评论
weixin_38673738
- 粉丝: 2
- 资源: 914
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Docker bitnami/zookeeper:3.8.4镜像包
- 毕业设计,项目名称:黄埔区长洲岛方案
- 学习threejs,导入PLY格式的模型
- 文档详细介绍了如何在Windows主机上使用VMware Workstation Player创建、使用和管理虚拟机,包括系统要
- 【重磅,更新】全国上市公司能源消耗的数据(2007-2022年)
- CardExpiredException解决方案(亲测可用).md
- PowerBI-条形图 - 排序翻页
- python《Hybrid-SORT-多目标跟踪器(弱线索对在线多目标跟踪)》+项目源码+文档说明
- aspose:word,pdf,ppt
- 个人信用报告690428.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功