USB描述符概述
在USB总线接口协议中,规定了一些标准的USB描述符,如表所示。

对于USB设备来说,有些USB描述符是必需的,例如:
- 设备描述符
- 配置描述符
- 字符串描述符
- 接口描述符
- 端点描述符
其余一些描述符并非必需,只在特定USB设备中使用,例如:设备限定描述符、其他速率配置描述符用于高速USB设备;OTG设备描述符用于USB OTG外设;超高速端点伴侣描述符用于超高速USB设备。
USB描述符其实就是一个数据集合,用来表征USB设备某一方面的功能。USB协议中严格规定了每一种描述符的数据格式。各个USB描述符均由一系列具有固定排列顺序的字段构成。通常来说,bLength为第一个字段,表示该描述符的长度;bDescriptorType为第二个字段,表示该描述符的类型。在描述符的定义中,往往采用特定的前缀字符来表示该字符的类型和长度,包括以下几类:
- 前缀字符b:表示一个字节(8Bits);
- 前缀字符w:表示一个字(16Bits);
- 前缀字符bm:表示按位寻址;
- 前缀字符bcd:表示采用二进制编码的十进制数;
- 前缀字符i:表示索引值;
- 前缀字符id:表示标识码;
// USB描述符是学习USB开发所必须首要掌握的。
相关资源连接:
http://www.beyondlogic.org/usbnutshell/usb1.shtml
http://www.usbmadesimple.co.uk/index.html
http://www.ti.com/lit/ug/sprufm8/sprufm8.pdf
http://www.crifan.com/files/doc/docbook/usb_basic/release/htmls/index.html
USB描述符概述的更多相关文章
- USB 描述符
标准的USB设备有5种USB描述符:设备描述符,配置描述符,字符串描述符,接口描述符,端点描述符. // Standard Device Descriptor typedef struct { u8 ...
- USB描述符解析-->枚举.
枚举可以理解为主机按不定的顺序向USB设备讨要设备信息,好给它分配资源,若枚举不成功,就放弃分配资源,免得浪费资源.一般都是使用中断传输方式通信. 常用的描述符有以下几种:01H.设备描述符 02H ...
- usb描述符简述(二)
title: usb描述符简述 tags: linux date: 2018/12/18/ 18:25:23 toc: true --- usb描述符简述 转载自cnblog 具体描述符 https: ...
- USB学习笔记连载(十二):USB描述符
USB设备是端口,接口,配置的集合,USB协议是以各种USB描述符来表征USB设备的功能.计算机通过这些描述符来获得USB设备的功能. USB描述符包括: USB标准设备描述符,USB集线器描述符.H ...
- 2.6 USB摄像头驱动之USB描述符
学习目标:分析USB摄像头驱动的描述符: 一.USB设备描述符 在usb设备驱动分析那一节,也用到了usb描述符. usb描述符可分为: USB设备描述符(usb_device_descriptor) ...
- USB描述符【整理】
USB描述符 USB描述符信息存储在USB设备中,在枚举过程中,USB主机会向USB设备发送GetDescriptor请求,USB设备在收到这个请求之后,会将USB描述符信息返回给USB主机,USB主 ...
- USB描述符(转)
//============================================================================// 文件名: USBDESC.C// 用 ...
- 文件锁及其实例,底层文件I/O操作,基本文件操作和实例,Linux中文件及文件描述符概述
http://blog.csdn.net/rl529014/article/details/51336161 http://blog.csdn.net/rl529014/article/details ...
- 自己总结的USB数据结构及其描述符
背景: USB理论知识光看着空想总觉着丢三落四,好像哪里没法理解到位,自己做个总结. 正文: 1. USB通信的最基本单位是“包”.如果把“包”肢解的话,可以分为各种“域”(7类,即一串二进制数.每类 ...
随机推荐
- Centos 下搭建SVN + Apache 服务器(转载)
安装软件包 ? 1 # yum install httpd ? 1 # yum install mod_dav_svn ? 1 # yum install subversion 2. 验证安装 ? ...
- OkHttp使用全解析(转)。
Android系统提供了两种HTTP通信类,HttpURLConnection和HttpClient.关于HttpURLConnection和HttpClient的选择>>官方博客尽管Go ...
- js基础之动画(一)
一.让div动起来 var oBtn = document.getElementById('btn1'); var timer='';//设置定时器 oBtn.onclick=function st ...
- 常州培训 day5 解题报告
第一题:(贪心) 题目大意:给出N*M的矩形,要用正方形将它铺满(正方形之间不能重叠),相邻的正方形颜色不能相同,颜色用ABCD表示.要求从上到下从左到右字典序最小. N,M<=100 解题过程 ...
- USB鼠标按键驱动
现象:把USB设备接到PC 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",为何能 ...
- http://bootswatch.com/
http://bootswatch.com/ http://v3.bootcss.com/examples/dashboard/
- BAT文件执行完成后如何删除自身的解决办法
在BAT文件的最后加上一句 del %0,就可以在处理完后,删除自己了
- SQL with PL/SQL
DDL commands --> create user / table / view / sequence alter DML --> data manipulation languag ...
- SharePoint 2013 Nintex Workflow 工作流帮助(四)
博客地址 http://blog.csdn.net/foxdave 接上篇点击打开链接 我们来看下一个配置标签Ribbon Option: Task Notification(用于配置分配任务时的提醒 ...
- 《day11---内部类&匿名内部类》
//79-80-面向对象-内部类-体现 /* 当A类中的内容要被B类直接访问,而A类还需要去创建B类的对象,访问B的内容时, 这时可以将B类定义到A类的内部,这样访问更为便捷. 将B类称之为内部类(内 ...