首页 > 其他分享 >USB协议详解第11讲(USB描述符-总结)

USB协议详解第11讲(USB描述符-总结)

时间:2024-10-09 21:24:22浏览次数:10  
标签:11 USB 配置 接口 描述符 端点 设备

描述符回顾总结
1.其实所有的描述符都是USB设备用来描述自己属性及用途的,所以必须在设备端实现对应的描述符,主机会在枚举此设备的时候根据设备实现的描述符去确定设备到底是一个什么样的设备、设备需要的总线资源、和设备的通讯方式等等。

2.每一个USB设备只有一个设备描述符,主要向主机说明设备类型、端点0最大包长、设备版本、配置数量等等。

3.每一个USB设备至少有一个或者多个配置描述符,但是主机同一时间只能选择某一种配置,标准配置描述符主要向主机描述当前配置下的设备属性、所需电流、支持的接口数、配置描述符集合长度等等。

4.主机在获取配置描述符集合的时候会先获取一次标准配置描述符,然后根据里面的配置描述符集合长度属性值获取配置描述符集合的所有描述符信息,配置描述符集合有标准配置描述符、接口描述符、端点描述符、HID描述符。

5.每一个USB配置下至少有一个或者多个接口描述符,接口描述符主要说明设备类型、此接口下使用的端点数(不包括0号号端点),一个接口就是实现一种功能,实现这种功能可能需要端点0就够了,可能还需要其它的端点配合。

6.每一个USB接口下至少有0个或者多个端点描述符,端点描述符用来描述符端点的各种属性。

7.端点是实现USB设备功能的物理缓冲区实体,USB主机和设备是通过端点进行数据交互的。

8.一个USB设备有一个或多个配置描述符。每个配置有一个或多个接口,每个接口有零个或多个端点

9.字符串描述符就是用字符串描述一个设备的一些属性,描述的属性包括设备厂商名字、产品名字、产品序列号、各个配置名字、各个接口名字。

10.HID描述符只有HID设备才会存在。

11.HID设备至少有一个报告描述符。

12.报告描述符主要作用就是描述主机和HID设备交互的数据,向主机说明这些数据中哪些位是用来做什么用的。

以上知识点在前面已经作以详解,大家也可以自己学习总结。

标签:11,USB,配置,接口,描述符,端点,设备
From: https://www.cnblogs.com/linhaostudy/p/18455179

相关文章

  • MT1311-MT1320 码题集 (c 语言详解)
    MT1311·组数c语言实现代码#include<stdio.h>intmain(){intcount=0;//用来记录个数//遍历所有可能的三位数//外层循环:遍历第一位范围是1~9确保第一位不能为0for(inti=1;i<=9;i++){//中层循环:遍历第二位范围是0......
  • msvcp110丢失怎么解决?三种方法教你修复msvcp110.dll丢失
    1.msvcp110.dll概述1.1定义与作用msvcp110.dll是MicrosoftVisualC++2012RedistributablePackage的一部分,它是一个动态链接库(DLL)文件,对运行时环境至关重要。这个文件包含了C++标准库的实现,为基于VisualC++2012编译的应用程序提供了必要的运行时支持。msvcp1......
  • P7911
    没切这题恶心的点死多……首先,你这数据不能一次性让我把bug改完吗?浪费lg评测资源,该罚然后进入正题我踩的坑两种机用同一个编号中间会爆int,要在过程中就判掉开头可能出现.这种毒瘤玩楞然后比2023csp-jT3好写多了#include<bits/stdc++.h>usingnamespacestd;stri......
  • WIN11 vmmare下 ubuntu 的安装及配置(附错误指南)
    写在前面:本文章基于老师发的安装配置说明书,结合自己在安装和配置过程中遇到的问题,阐述该如何进行安装配置ubuntu以及个人遇到的问题,若对你有帮助还请点赞支持!相信文章不会让你失望!具体步骤见链接:参考文章:Win11的Ubuntu的安装及配置(超级详细)Win11的Ubuntu的安装及配置(超级详......
  • Oracle11g服务器linux 安装
    一.安装前准备1.检查硬件(内存,交换分区,tmp分区,cpu信息,内核版本)  #grepMemTotal/proc/meminfo  #grepSwapTotal/proc/meminfo  #df-k/tmp(>400M)  #grep"modelname"/proc/cpuinfo  #uname –r(-a,-m)查看Linux系统版本2.检查所需软件包(两种安......
  • Win11系统提示找不到StartUI.dll文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个StartUI.dll文件(挑选合适的版本文件)把它放......
  • Win11系统提示找不到station.dll文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个station.dll文件(挑选合适的版本文件)把它放......
  • Windows 11 WIFI/无线网络因为升级驱动失败而消失的解决办法 - 升级你的Windows系统
    上周六Intel的驱动管理软件提醒有驱动更新,于是升级,其余的驱动都升级正常,不料升级WIFI无线网络导致WIFI功能凭空消失,在控制面板里面对应的适配器也不见了,不是禁用,而是不存在了.打开设备管理器,对应的网络适配器也显示黄色惊叹号.于是先是尝试重新安装驱动,无果,虽......
  • C++编译并运行后出现Process finished with exit code 139 (interrupted by signal 11
    问题描述:        代码运行意外终止,报错信息为Processfinishedwithexitcode139(interruptedbysignal11:SIGSEGV)CMakeList文件如下:cmake_minimum_required(VERSION3.26)project(SLAM)set(CMAKE_CXX_STANDARD17)set(CMAKE_CXX_STANDARD_REQUIRED......
  • (LeetCode 热题 100) 1143. 最长公共子序列(动态规划dp)
    题目:1143.最长公共子序列思路:经典动态规划dp题型,时间复杂度为0(n^2)。C++版本:classSolution{public:intlongestCommonSubsequence(stringtext1,stringtext2){intn=text1.size(),m=text2.size();//状态f[i][j]表示:text1[0,i]和text2[0......