USB枚举
来源:互联网 发布:c语言比较字符串大小 编辑:程序博客网 时间:2024/05/16 04:51
USB枚举过程
为什么要枚举 ?
枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序,完成主从通讯。
控制传输
1.USB设备的枚举过程中都是使用控制传输。
2.控制传输分为三个过程:
①建立过程。
②可选的数据过程。
③状态过程。
建立(Setup)过程都是由USB主机发起,它开始于一个Setup令牌包,后面紧跟一个DATA0包。如果是控制输入传输,那么数据过程就是输入数据;如果是控制输出传输,那么数据过程是输出数据。如果在设置过程中,指定了数据长度为0,则没有数据过程。数据过程之后是状态过程。状态过程刚好与数据过程的数据传输方向相反:
如果是控制输入传输,则状态过程是一个输出数据包。 //1 主机发setup包 2.设备输入数据过程 3.主机发送状态过程
如果是控制输出传输,则状态过程是一个输入数据包。//1 主机发setup包 2.主机输出数据过程 3.从机发送状态过程
状态阶段用来确认所有的数据都已经正确传输。
枚举过程
1.USB主机检测到USB设备插入后,就会先对设备复位。
2.USB主机就会对地址为0的设备发送获取设备描述符的标准请求。
3.然后主机再对设备复位一下,接下来就会进入到设置地址阶段,为设备分配一个地址。
4.主机通过新地址再次获取设备描述符。
5.主机通过新地址获取配置描述符。
6.根据里面的配置集合总长度,主机通过新地址再获取配置集合。配置集合包括配置描述符,接口描述符,端点描符等等。
总之是主机请求什么,你的程序就响应什么。
0 0
- USB枚举
- usb 枚举
- USB枚举
- USB枚举
- usb枚举
- USB枚举过程 USB Enumeration
- USB枚举过程 USB Enumeration
- USB枚举过程 USB Enumeration
- USB枚举过程 USB Enumeration
- USB枚举过程 USB Enumeration
- USB设备枚举
- 枚举USB设备
- 图解USB枚举
- USB枚举过程详述
- USB总线枚举过程
- usb枚举过程
- USB枚举过程
- USB枚举过程
- Maven文件结构分析
- shutil.rmtree 函数 OSError: [Errno 39] Directory not empty: 错误原因
- ORA-12638: 身份证明检索失败
- 第四章 数据的类型
- 基于redis实现tomcat8及以上版本的tomcat集群的session持久化实现(tomcat-redis-session-manager二次开发)
- USB枚举
- soap报文略说
- 初识Android项目知识点积累
- 欢迎使用CSDN-markdown编辑器
- Maven常用命令
- ASP.NET MVC 单点登录(Single Signe On)
- libjpeg-turbo使用实例(编解码jpeg、jpg转bmp、bmp转jpg代码)
- 常用手机uc浏览器兼容问题记录(陆续补充)
- 关于菜单使用gridView来实现的一些小经验