USB设备多个配置描述符的获取过程

多配置USB设备枚举过程和多字符串描述符的枚举是相同的,过程如下:
1. 总线复位;
2. 获取设备描述符;
3. 总线复位;
4. 设置地址;
5. 获取设备描述符;
6. 获取配置描述符1;
7. 获取配置描述符2;
8. …
9. 获取字符串描述符1;
10. 获取字符串描述符2;
11. …
12. 设置配置;
13. …
  可见,对于多个配置和字符串描述符的设备而言,主机端需要进行多次获取(但不是必须的,主机也可能不获取完所有配置),而请求哪个配置是根据USB标准设备请求中的wValue字段确定的。也就是请求配置描述符0,wValue中的Descriptor Index设置成0,请求配置描述符1,设置成1再进行请求即可。具体可以参见USB2.0 Specification中9.4.3中的描述。我在这里对此简单翻译一下:
  wValue值在高字节指定描述符类型(Descriptor Type),在低字节指定描述符索引(Descriptor Index)。当一个设备实现相同类型的多个描述符时描述符索引Index就用于选择指定的描述符(仅用于配置和字符串描述符)。如果正常只有一个配置或者一个字符串描述符,那么使用默认值0就可以了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403334.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯的大饼 微信的价值

今天,微信火了。在被新浪微博压制近两年之后腾讯终于又成功推出一款时代级产品——微信。微信的发展初衷是一款移动社交工具,但随着微信用户步入2亿大关之后,微信对于腾讯的意义已经不仅仅是移动社交工具,微信肩负着对抗阿里、新浪…

ssh自动输入密码登录服务器/ssh免输入密码登录/非交互ssh 密码验证

From: http://www.linuxidc.com/Linux/2011-02/31921.htm 由于经常需要登录一些远程的服务器,每次都需要将密码重输一遍,如下: #ssh 用户名我的服务器的ip 用户名我的服务器的ips password: (这里需要手动输入密码后回车&#x…

Access、Hybrid和Trunk三种模式的理解

以太网端口的三种链路类型&#xff1a;Access、Hybrid和Trunk&#xff1a; <1> Access类型的端口只能属于1个VLAN&#xff0c;一般用于连接计算机的端口&#xff1b; <2> Trunk类型的端口可以允许多个VLAN通过&#xff0c;可以接收和发送多个VLAN的报文&#xff…

yum install nginx

From: http://www.cnblogs.com/ShepherdIsland/p/yum_install_nginx.html 先安装nginx的yum源 http://nginx.org/en/linux_packages.html#stable 找到链接&#xff0c;安装&#xff1a; rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.e…

11g下如何查询trace文件名

eygle的书中有讲到查看数据库的内容&#xff0c;利用转储文件来查看 aler system dump datafile 3 block 9&#xff1b; roger提点说先oradebug setmypid&#xff0c;再dump&#xff0c;然后直接oradebug tracefile_name&#xff0c;就能够得到trace文件的完整路径了。 如图 转…

el-table表格格式化某一列数据;统一处理el-table表格某一列数据

以下代码可以直接复制使用 场景&#xff1a;table的原数据就是 姓名1234&#xff0c;但是现在想要改成统一的格式。可以使用formatter属性&#xff0c;它用于格式化指定列的值&#xff0c;接受一个Function&#xff0c;会传入两个参数&#xff1a;row和column&#xff0c;可以…

OpenWrt交换机手册(Switch Documentation)

如果你的设备含有不少于1个的LAN接口&#xff0c;那这个设备在不同的接口之间可能有一个被称为交换(switch)的特殊连接。大多数的内部构造如下图所示: 如果你想要更改这些端口如何互相连接的&#xff0c;你需要配置你的switch设备。 (see also network.interfaces) UCI config…

Log4j快速使用精简版

Log4j快速使用精简版 1、导入log4j-1.2.17.jar包 2、在src根目录下创建log4j.properties文件 log4j.rootLoggerINFO, CONSOLE, FILE ## console 配置文件输出的目的地 &#xff08;控制台&#xff09;log4j.appender.CONSOLEorg.apache.log4j.ConsoleAppenderlog4j.appender.CO…

mac下安装nginx和php

From: http://www.jb51.net/article/42715.htm mac下使用homebrew安装安装、配置nginx、mysql、php-fpm的方法。一、前话&#xff1a;1.1、环境选择&#xff1a;重新在mac上配置php&#xff0c;原本mac上就自带有apach、php以及pgsql&#xff0c;如果图简单的话&#xff0c;直…

【交换机】MAC-VLAN的功能作用是什么,如何设置

MAC VLAN就是基于MAC地址划分的VLAN&#xff0c;MAC VLAN的最大优点就是用户不需要固定在某些端口下&#xff0c;可以随意移动&#xff0c;比如当用户物理位置移动时&#xff0c;即从一台交换机换到其它的交换机时&#xff0c;VLAN不用重新配置&#xff0c;所以&#xff0c;可以…

/deep/使用方式方式;/deep/无效; ::v-deep和>>>使用;

vue-loader官方文档的 /deep/ >>> ::v-deep 使用方法 场景&#xff1a;一般我们使用vue和element-ui&#xff0c;在修改第三方组件库的样式时候&#xff0c;会修改到页面不存在的html的标签样式&#xff0c;此时就需要使用深度作用选择器。 注意&#xff1a; 1.脚手…

ipsec NAT-T与穿透

拓扑&#xff1a; 一 NAT-T R1配置&#xff1a; R2配置&#xff1a; 默认开启NAT-T R3配置&#xff1a; 分析&#xff1a; 端口由UDP500变为UDP4500&#xff1b;隧道封装为&#xff1a;tunnel UDP-encaps。 二 穿透 R1配置&#xff1a; R2配置&#xff1a; R3配置&#xff1a; …

struts2 国际化

概述 Struts2 国际化是建立在 Java 国际化基础上的&#xff1a; - 为不同国家/语言提供对应的消息资源文件 - Struts2 框架会根据请求中包含的 Locale 加载对应的资源文件 - 通过程序代码取得该资源文件中指定 key 对应的消息 配置国际化资源文件 I. Action 范围资源文件: 在…

我的Mac os x中的nginx配置文件nginx.conf

环境: Mac os x 10.10.3 xcode6.3 在mac下用brew install nginx安装好了nginx&#xff0c;增加对php的支持&#xff0c;完整的nginx.conf文件内容如下: #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log lo…

C程序中如何获取shell命令执行结果和返回值

如果在C程序中调用了shell命令&#xff0c;那么往往希望得到输出结果以及命令执行的返回布尔值。在这里分为两步来处理&#xff1a; 1.使用 popen 与 pclose 来执行shell命令&#xff1b; 2.使用‘echo $?’来获取上一条指令执行状态&#xff0c;如果为0那么标识成功执行&am…

去除le-table表格的hover效果

css代码&#xff1a; 如果不生效&#xff0c;就单独的放在一个style标签内&#xff0c;但是单独放会影响全局 <style>/* 首先去除默认的hover效果 *//deep/.el-table--enable-row-hover .el-table__body tr:hover > td {background-color: rgba(0, 0, 0, 0) !importa…

使用 Chrome Timeline 来优化页面性能

使用 Chrome Timeline 来优化页面性能有时候&#xff0c;我们就是会不由自主地写出一些低效的代码&#xff0c;严重影响页面运行的效率。或者我们接手的项目中&#xff0c;前人写出来的代码千奇百怪&#xff0c;比如为了一个 Canvas 特效需要同时绘制 600 个三角形&#xff0c;…

bash shell函数的定义及变量的简单说明

From: http://blog.sina.com.cn/s/blog_4ce3a68a0100i77a.html 函数&#xff1a; “函数是一种脚本内脚本”&#xff0c;程序员很难想像没有函数的日子&#xff0c;至少我会比较痛恨。 所以了解函数的定义也就是学习bash的一大要点了。 函数大大增强了shell的编程能力&…

脚本中判断Shell命令执行结果

与C程序中判断同理&#xff0c;只是语法差异&#xff0c;提一点&#xff0c;在这里尤其需要注意 Shell 的语法规则:-D。 Code&#xff1a; #&#xff01;bin/shifconfig if [ $? -eq 0 ]; thenecho "succeed!" elseecho "failed!" fi

el-table点击某行高亮;el-table设置hover效果;监听el-table点击某行变色;去除el-table的hover效果;监听el-table的hover事件

以下代码可直接复制使用 无需任何修改 注意&#xff1a;如果最后的的css不生效&#xff0c;就单独的放在一个style标签内 重点解释&#xff1a; :row-class-name"tableRowClassName" //这个是设置返回某行的类名 :stripe"false" …