精华内容
下载资源
问答
  • 前面几个章节说了设备描述符、配置描述符和HID特有描述符,接下来继续讲解接口描述符。根据USB协议规定,接口描述符不能单独返回,必须附着在配置描述符后一并返回。 接口描述符 标准的接口描述符的结构如下: ...

    前面几个章节说了设备描述符、配置描述符和HID特有描述符,接下来继续讲解接口描述符。根据USB协议规定,接口描述符不能单独返回,必须附着在配置描述符后一并返回。

    接口描述符

    标准的接口描述符的结构如下:

    接口描述符
    偏移量/字节 大小/字节 说   明
    0 bLength 1 该描述符的长度(9字节)
    1 bDescriptorType 1 该描述符类型(0x04)
    2 bInterfaceNumber 1 该接口的编号(从0开始)
    3 bAlternateSetting 1 该接口的备用编号
    4 bNumEndpoints 1 该接口所使用的端点数
    5 bInterfaceClass 1 该接口所使用的类
    6 bInterfaceSubClass 1 该接口所使用的子类
    7 bInterfacPtotocol 1 该接口所使用的协议
    8 iConfiguration 1 描述该接口的字符串的索引

    bLength:标准描述符的长度。

    bDescriptorType:描述符的类型。

    /* USB Descriptor Types */
    #define USB_DEVICE_DESCRIPTOR_TYPE                  1
    #define USB_CONFIGURATION_DESCRIPTOR_TYPE      2
    #define USB_STRING_DESCRIPTOR_TYPE             3
    #define USB_INTERFACE_DESCRIPTOR_TYPE          4
    #define USB_ENDPOINT_DESCRIPTOR_TYPE           5
    #define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE   6
    #define USB_OTHER_SPEED_CONFIG_DESCRIPTOR_TYPE 7
    #define USB_INTERFACE_POWER_DESCRIPTOR_TYPE    8
    #define USB_OTG_DESCRIPTOR_TYPE                     9
    #define USB_DEBUG_DESCRIPTOR_TYPE                  10
    #define USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE  11

    bInterfaceNumber:接口编号。当一个配置具有多个接口时,每个接口的编号都不相同。从0开始依次递增对一个配置的接口进行编号。

    bNumEndpoints:该接口所使用的端点数(不包括0端点)。如果为0,则表示没有非0端点,只使用默认的控制端点。

    端点描述符

    USB协议规定的标准端点描述符的结构。端点描述符不能单独返回,必须附着在配置描述后一并返回。

    标准端点描述符的结构
    偏移量/字节 大小/字节 说明
    0 bLength 1 该描述符的长度(7字节)
    1 bDescriptorType 1 描述符的类型
    2 bEndpointAddress 1 该端点的地址
    3 bmAttributes 1 该端点的属性
    4 wMaxPackeSize 2 该端点支持的最大包长度
    6 bInterval 1 端口的查询时间

    bLength:描述符的长度。

    bDescriptorType:描述符的类型。

    bEndpointAddress:该端点的地址。最高为D7为该端点的传输方向,1为输入,0为输出。D3~D0为端点号。

    bmAttributes:端点的属性。最低两位D1~D0表示该端点的传输类型,0为控制传输,1为等时传输,2位批量传输,3为中断传输。如果该端点是非等时传输的端点,那么D7~D2为保留值,设置为0。如果该端点是等时传输的,则D3~D2表示同步的类型,0为无同步,1为异步,2为适配,3为同步;D5~D4表示用途,0为数据端点,1为反馈端点,2位暗含反馈的数据端点,3是保留值。D7~D6保留。
    /* bmAttributes in Endpoint Descriptor */
    #define USB_ENDPOINT_TYPE_MASK                 0x03
    #define USB_ENDPOINT_TYPE_CONTROL              0x00
    #define USB_ENDPOINT_TYPE_ISOCHRONOUS          0x01
    #define USB_ENDPOINT_TYPE_BULK                 0x02
    #define USB_ENDPOINT_TYPE_INTERRUPT            0x03
    #define USB_ENDPOINT_SYNC_MASK                 0x0C
    #define USB_ENDPOINT_SYNC_NO_SYNCHRONIZATION   0x00
    #define USB_ENDPOINT_SYNC_ASYNCHRONOUS         0x04
    #define USB_ENDPOINT_SYNC_ADAPTIVE             0x08
    #define USB_ENDPOINT_SYNC_SYNCHRONOUS          0x0C
    #define USB_ENDPOINT_USAGE_MASK                0x30
    #define USB_ENDPOINT_USAGE_DATA                0x00
    #define USB_ENDPOINT_USAGE_FEEDBACK            0x10
    #define USB_ENDPOINT_USAGE_IMPLICIT_FEEDBACK   0x20
    #define USB_ENDPOINT_USAGE_RESERVED            0x30

    wMaxPackeSize:该端点所支持的最大包长度。注意低字节在先。对于全速模式和低速模式,D10~D0表示端点的最大包长度,其他保留为0。对于高速模式,D12~D11为每个帧附加的传输次数,具体看USB2.0协议。

    bInterval:该端点的查询时间。对于查询的帧间隔数。对于等时传输以及高速模式的中断、批量传输,该字段的意义请参看USB2.0协议。

    例如:

    /* Endpoint, HID Interrupt In  这个端点用来传状态包*/
      USB_ENDPOINT_DESC_SIZE,                   /* bLength */
      USB_ENDPOINT_DESCRIPTOR_TYPE,    /* bDescriptorType */
      USB_ENDPOINT_IN(1),                               /* bEndpointAddress */
      USB_ENDPOINT_TYPE_INTERRUPT,       /* bmAttributes */
      WBVAL(0x0040),                                          /* wMaxPacketSize 原来是04*/
      2,          /* 2ms */                                           /* bInterval 可控制时间片的长度*/
        //增加一个输出端点,用于接收主机的数据
      USB_ENDPOINT_DESC_SIZE,                     /* bLength */
      USB_ENDPOINT_DESCRIPTOR_TYPE,      /* bDescriptorType */
      USB_ENDPOINT_OUT(1),                             /* bEndpointAddress */
      USB_ENDPOINT_TYPE_INTERRUPT,        /* bmAttributes */
      WBVAL(0x0020),                                           /* wMaxPacketSize 接收数据包大小为32字节*/
      20,                                   /* 20ms */               /* bInterval */

    展开全文
  •   接口描述符一般是按设备的运行状态分类,这样设备可以在不同的接口中切换来实现设备运行状态的切换,如在设备在运行状态下使用正常的接口描述符,在停止状态下使用该接口描述符的备用接口描述符。   USB协议...

    二、接口描述符&端点描述符-概述

      接口描述符一般是按设备的运行状态分类,这样设备可以在不同的接口中切换来实现设备运行状态的切换,如在设备在运行状态下使用正常的接口描述符,在停止状态下使用该接口描述符的备用接口描述符。

      一个配置中可以有—个或多个接口,一个接口中有零个或多个端点。USB协议规定,接口描述符和端点描述符不能直接通过 GetDescriptor请求返回,必须连同配置描述符一起返回。

      每个配置下可以有多个接口,当前配置下的所有接口(和其下的端点)都是活动的。一个配置中的所有接口可以同时有效,并可被不同的驱动程序连接。每个接口可以有备用接口,以提供不同质量的服务参数。

      端点是USB通信的最基本形式,每一个USB设备接口在主机看来就是一个端点的集合。主机只能通过端点与设备进行通信,以使用设备的功能。在USB系统中每一个端点都有惟一的地址,这是由设备地址和端点号给出的。

      每个端点都有一定的属性,其中包括传输方式、总线访问频率、带宽、端点号和数据包的最大容量等。

      一个USB端点只能在一个方向承载数据,或者从主机到设备(称为输出端点),或者从设备到主机(称为输入端点),因此端点可看作一个单向的管道。端点0通常为控制端点,用于设备初始化参数等。只要设备连接到USB上并且上电端点0就可以被访问。端点1、2等一般用作数据端点,存放主机与设备间往来的数据。

    在这里插入图片描述
      8910平台拥有三种不同的接口,分别是RNDIS网卡、虚拟串口和ECM网卡,但是三者不能同时存在。RNDIS网卡和ECM网卡不能同时存在。CSDK开发还可以使用HID类设备,模拟键盘的操作。键盘的接口描述符近期并不会在本系列文章中更新,后面有时间的话也许会拎出来讲一下。

      由于接口描述符的信息量比较大,将会在接下来的三篇文章中分别进行解析。

    展开全文
  • 关注+星标公众号,不错过精彩内容编排 | 一个早起的程序员一个早起的程序员1USB描述符USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符...

    关注+星标公众,不错过精彩内容

    dd25f78b970687f3bba6025050872cb5.png

    编排 | 一个早起的程序员

    一个早起的程序员

    1

    USB描述符USB描述符有设备描述符标准配置描述符接口描述符端点描述符字符串描述符,HID设备有HID描述符报告描述符物理描述符今天主要是学习USB接口描述符的组成。一个早起的程序员

    2

    接口描述符组成前面讲了设备描述符配置描述符,本篇我们讲解接口描述符。首先要明确的一点是接口描述符不能单独返回给USB主机,主机会请求获得配置描述符集合,置描述符集合主要由标准配置描述符、接口描述符、端点描述符、HID描述符,报告描述符物理描述符是单独返回给USB主机接口描述符包含9个字节,组成如下:

    6d0e5fc7bcad1e8bc971b953219aeee8.png

    一个早起的程序员

    3

    STM32配置描述符集合代码(必须按顺序)
    /* USB Configuration Descriptor */const uint8_t CustomHID_ConfigDescriptor[CUSTOMHID_SIZ_CONFIG_DESC] ={//// 标准配置描述符//      0x09, /* bLength: Configuation Descriptor size */    USB_CONFIGURATION_DESCRIPTOR_TYPE,   /* bDescriptorType: Configuration */    CUSTOMHID_SIZ_CONFIG_DESC,      /* wTotalLength low : Bytes returned */    0x00,                /* wTotalLength high: Bytes returned */    0x01,         /* bNumInterfaces: 1 interface */    0x01,         /* bConfigurationValue: Configuration value */    0x00,         /* iConfiguration: Index of string descriptor describing the configuration*/    0xC0,         /* bmAttributes: Bus powered */                  /*Bus powered: 7th bit, Self Powered: 6th bit, Remote wakeup: 5th bit, reserved: 4..0 bits */    0x96,         /* MaxPower 300 mA: this current is used for detecting Vbus */    //// 接口描述符//      /************** Descriptor of Custom HID interface ****************/    /* 09 */    0x09,                     /* bLength: Interface Descriptor size */    USB_INTERFACE_DESCRIPTOR_TYPE,    /* bDescriptorType: Interface descriptor type */    0x00,         /* bInterfaceNumber: Number of Interface */    0x00,         /* bAlternateSetting: Alternate setting */    0x02,         /* bNumEndpoints 此接口有两个端点 */    0x03,         /* bInterfaceClass: HID */    0x00,         /* bInterfaceSubClass : 1=BOOT, 0=no boot */    0x00,         /* nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse */    0,            /* iInterface: Index of string descriptor */    //// HID描述符(后续讲解)//      /******************** Descriptor of Custom HID HID ********************/    /* 18 */    0x09,         /* bLength: HID Descriptor size */    HID_DESCRIPTOR_TYPE, /* bDescriptorType: HID */    0x10,         /* bcdHID: HID Class Spec release number */    0x01,    0x00,         /* bCountryCode: Hardware target country 国家代码 */      0x01,         /* bNumDescriptors: Number of HID class descriptors to follow           类别描述符数目(至少有一个报表描述符)*/    0x22,         /* bDescriptorType 报告描述符 */    CUSTOMHID_SIZ_REPORT_DESC,  /* wItemLength: Total length of Report descriptor 报告描述符大小 */    0x00,            /* 标志类别描述符说明结束 */     //// 端点1描述符//      /******************** Descriptor of Custom HID endpoints ******************/    /* 27 */    0x07,          /* bLength: Endpoint Descriptor size */    USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: */    0x82,          /* bEndpointAddress: Endpoint Address (IN) */                                  // bit 3...0 : the endpoint number                   // bit 6...4 : reserved                    // bit 7     : 0(OUT), 1(IN)    0x03,          /* bmAttributes: Interrupt endpoint */    0x40,          /* wMaxPacketSize: 64 Bytes max */    0x00,    0x02,          /* bInterval: Polling Interval (2 ms) */    /* 34 *///// 端点2描述符//        0x07,  /* bLength: Endpoint Descriptor size */    USB_ENDPOINT_DESCRIPTOR_TYPE,  /* bDescriptorType: */      /*  Endpoint descriptor type */    0x01,  /* bEndpointAddress: */      /*  Endpoint Address (OUT) */    0x03,  /* bmAttributes: Interrupt endpoint */    0x40,  /* wMaxPacketSize: 64 Bytes max  */    0x00,    0x02,  /* bInterval: Polling Interval (2 ms) */    /* 41 */}; /* CustomHID_ConfigDescriptor */
    一个早起的程序员

    4

    接口描述符组成详解

    1.bLength

    接口描述符的长度。

    2.bDescriptorType

    描述符类型,接口描述符为0x04。描述符的结构开头是一样的,都是先说描述符长度,然后说类型,每种描述符的类型是不一样的,如下表格,可速查。

    c65e69dc0ed2db58e5ac8ca3e827b672.png

    3.bInterfaceNumber

    接口编号。如果一个配置有多个接口的话,那么每个接口的编号都有一个独立的编号,编号从0开始递增。这里可以设置为0。

    4.bAlternateSetting

    备用接口编号,一般很少用,设置为0。

    5.bNumEndpoints

    该接口使用的端点个数,前面讲过一个接口就是一种功能,每个接口需要用户为其分配端点来实现对应的功能,注意一点,这个端点个数不包括端点0。

    6.bInterfaceClass、bInterfaceSubClass、bInterfaceProtocol

    当设备描述符设备类型bDeviceClass为0时,也就是指示用接口描述符来标识类别,此时用接口类、接口子类、接口协议来说明USB设备此功能所属的类别。如下图显示设备和接口的各种类别,这个类别给设备描述符用还是给接口描述符用要看Descriptor Usage标识(如图中所示)。我们如果单纯用作数据传输的话,直接写FFh就好,代表着用户自定义。USB类信息更详细内容可进入https://www.usb.org/defined-class-codes查看。

    aa2b0f56ad9ab5522f5963789ddbaf7d.png

    7.iInterface

    描述此接口的字串索引值,没有的话一般都是0。

    免责声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。------------ END ------------2f9724821fae75d5985fd874db574140.gif

    点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

    展开全文
  • 目录 1.USB描述符 2.接口描述符组成 ...首先要明确的一点是接口描述符不能单独返回给USB主机,主机会请求获得配置描述符集合,配置描述符集合主要由标准配置描述符、接口描述符、端点描述符、HID描述符.

    目录

    1.USB描述符

    2.接口描述符组成

    3.STM32配置描述符集合代码(必须按照顺序)

    4.接口描述符组成详解


    1.USB描述符

    USB描述符有设备描述符标准配置描述符接口描述符端点描述符字符串描述符,HID设备有HID描述符报告描述符物理描述符今天主要是学习USB接口描述符的组成。

    2.接口描述符组成

    前面讲了设备描述符标准配置描述符,本篇我们讲解接口描述符。首先要明确的一点是接口描述符不能单独返回给USB主机,主机会请求获得配置描述符集合,配置描述符集合主要由标准配置描述符、接口描述符、端点描述符、HID描述符,报告描述符和物理描述符单独返回给主机。接口描述符包含9个字节,组成如下:

    图片

    3.STM32配置描述符集合代码(必须按照顺序)

    /* USB Configuration Descriptor */
    const uint8_t CustomHID_ConfigDescriptor[CUSTOMHID_SIZ_CONFIG_DESC] =
    {
    //
    // 标准配置描述符
    //	
        0x09, /* bLength: Configuation Descriptor size */
        USB_CONFIGURATION_DESCRIPTOR_TYPE, 	/* bDescriptorType: Configuration */
        CUSTOMHID_SIZ_CONFIG_DESC,			/* wTotalLength low : Bytes returned */
        0x00,								/* wTotalLength high: Bytes returned */
        0x01,         /* bNumInterfaces: 1 interface */
        0x01,         /* bConfigurationValue: Configuration value */
        0x00,         /* iConfiguration: Index of string descriptor describing the configuration*/
        0xC0,         /* bmAttributes: Bus powered */
                      /*Bus powered: 7th bit, Self Powered: 6th bit, Remote wakeup: 5th bit, reserved: 4..0 bits */
        0x96,         /* MaxPower 300 mA: this current is used for detecting Vbus */
        
    //
    // 接口描述符
    //		
    	/************** Descriptor of Custom HID interface ****************/
        /* 09 */
        0x09,         						/* bLength: Interface Descriptor size */
        USB_INTERFACE_DESCRIPTOR_TYPE,		/* bDescriptorType: Interface descriptor type */
        0x00,         /* bInterfaceNumber: Number of Interface */
        0x00,         /* bAlternateSetting: Alternate setting */
        0x02,         /* bNumEndpoints 此接口有两个端点 */
        0x03,         /* bInterfaceClass: HID */
        0x00,         /* bInterfaceSubClass : 1=BOOT, 0=no boot */
        0x00,         /* nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse */
        0,            /* iInterface: Index of string descriptor */
        
    //
    // HID描述符(后续讲解)
    //		
    	/******************** Descriptor of Custom HID HID ********************/
        /* 18 */
        0x09,         /* bLength: HID Descriptor size */
        HID_DESCRIPTOR_TYPE, /* bDescriptorType: HID */
        0x10,         /* bcdHID: HID Class Spec release number */
        0x01,
        0x00,         /* bCountryCode: Hardware target country 国家代码 */
        
    	0x01,         /* bNumDescriptors: Number of HID class descriptors to follow
    					 类别描述符数目(至少有一个报表描述符)*/
        0x22,         /* bDescriptorType 报告描述符 */
        CUSTOMHID_SIZ_REPORT_DESC,	/* wItemLength: Total length of Report descriptor 报告描述符大小 */
        0x00,						/* 标志类别描述符说明结束 */ 
    	
    	
    //
    // 端点1描述符
    //		
    	/******************** Descriptor of Custom HID endpoints ******************/
        /* 27 */
        0x07,          /* bLength: Endpoint Descriptor size */
        USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: */
    
        0x82,          /* bEndpointAddress: Endpoint Address (IN) */               
                       // bit 3...0 : the endpoint number
                       // bit 6...4 : reserved
                        // bit 7     : 0(OUT), 1(IN)
        0x03,          /* bmAttributes: Interrupt endpoint */
        0x40,          /* wMaxPacketSize: 64 Bytes max */
        0x00,
        0x02,          /* bInterval: Polling Interval (2 ms) */
        /* 34 */
    
    //
    // 端点2描述符
    //		
        0x07,	/* bLength: Endpoint Descriptor size */
        USB_ENDPOINT_DESCRIPTOR_TYPE,	/* bDescriptorType: */
    			/*	Endpoint descriptor type */
        0x01,	/* bEndpointAddress: */
    			/*	Endpoint Address (OUT) */
        0x03,	/* bmAttributes: Interrupt endpoint */
        0x40,	/* wMaxPacketSize: 64 Bytes max  */
        0x00,
        0x02,	/* bInterval: Polling Interval (2 ms) */
        /* 41 */
    }; /* CustomHID_ConfigDescriptor */
    

    4.接口描述符组成详解

    1.bLength

    配置描述符的长度。

    2.bDescriptorType

    描述符类型,接口描述符为0x04。描述符的结构开头是一样的,都是先说描述符长度,然后说类型,每种描述符的类型是不一样的,如下表格,可速查。

    图片

    3.bInterfaceNumber

    接口编号。如果一个配置有多个接口的话,那么每个接口的编号都有一个独立的编号,编号从0开始递增。这里可以设置为0。

    4.bAlternateSetting

    备用接口编号,一般很少用,设置为0。

    5.bNumEndpoints

    该接口使用的端点个数,前面讲过一个接口就是一种功能,每个接口需要用户为其分配端点来实现对应的功能,注意一点,这个端点个数不包括端点0。

    6.bInterfaceClass、bInterfaceSubClass、bInterfaceProtocol

    当设备描述符设备类型bDeviceClass为0时,也就是指示用接口描述符来标识类别,此时用接口类、接口子类、接口协议来说明USB设备此功能所属的类别。如下图显示设备和接口的各种类别,这个类别给设备描述符用还是给接口描述符用要看Descriptor Usage标识(如图中所示)。我们如果单纯用作数据传输的话,直接写FFh就好,代表着用户自定义。USB类信息更详细内容可进入https://www.usb.org/defined-class-codes查看。

    图片

    7.iInterface

    描述此接口的字串索引值,没有的话一般都是0。

     

    1.版权归本作者(一个早起的程序员)所有;

    2.未经原作者允许不得转载本文内容,否则将视为侵权;

    3.转载或者引用本文内容请注明来源及原作者;

    4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。

    下面是我的个人微信公众号,关注【一个早起的程序员】精彩文章不断。

    展开全文
  • 该程序用于从接口描述符集合中得到第 N个端点描述符。源码如下 ** * 从接口描述符集合中获取端点描述符 * @param intf_desc 接口描述符 * @param num 要获取的第几个端点描述符 * @param ep...
  • 该程序用于从配置描述符集合中得到第 N个接口描述符。源码如下 /** * 函数功能:从配置描述符集合中获取接口描述符 * @cfg_desc 配置描述符集合 * @num 要获取的第几个接口描述符 * @intf_desc t ...
  • 接口描述符interface

    千次阅读 2017-03-14 23:15:00
    配置描述符之后紧接着就是接口描述符接口描述符指明了接口的类型,对应的端点的数量。以下是定义: bLength:标准的接口描述符的长度是9个字节 bDescriptorType:表示描述符的类型,接口描述符对应的值是4 ...
  • 接口描述符具有9 B的长度,用来描述每一个设各的接口特性。由以上的介绍中,可以知道每个设各可能不止含有一种接口类型, 其接口的数目由设各描述符的第4个字段bNumlnterface设置。这种接口描述符能够视为一组端点或...
  • 3.3.2、RNDIS接口描述符(9字节)   RNDIS 是 Remote Network Driver Interface Specification(远程网络驱动程序接口规范) 的首字母缩写,实际上的作用为 TCP/IP over USB,也即视 USB 设备(如手机)为网卡,是...
  • USB-接口描述符(四)

    2020-01-16 16:09:53
    USB鼠标详解阅读顺序 1、枚举 2、设备描述符 3、设置地址 4、配置描述符 5、接口描述符 ...linux内核中对接口描述符的定义,目录:linux/include/uapi/linux/usb/ch9.h /* USB_DT_INTERFACE: ...
  • 主要描述华为模块产品在不同操作系统下的USB 接口描述符信息,用户在开发模 块USB 驱动集成时可以参考。 根据这个文档,我顺利的找到了4G模块的 moderm接口, 顺利的实现了4G模块在STM32上的移植。
  • USB笔记 接口描述符 (Interface Descriptor) 接口描述符(Interface Descriptor)描述了配置中一个特定的接口。配置提供了一个或多个接口,每个接口都含有类(Class),子类(SubClass)和协议(Protocol)的信息,以及接口...
  • 接口描述符不能单独返回USB主机,必须跟在配置描述符后面返回。 它的结构如下: 偏移量 名称 大小 说明 0 bLength 1 描述符的长度(9字节) 1 bDescriptorTyep 1 描述符类型(接口...
  • 五、ECM网卡   以太网控制模型...ECM是标准的,隶属USB协议,当然是usb封装的TCP协议,数据接口则用于在USB总线上交换USB数据包,这些USB数以的包封装了完整的以太网包。   8910平台支持ECM功能,默认处于关
  • 四、虚拟串口   大家在开发单片机应用时或多或少应该都用过物理串口。对硬件有所了解的小伙伴应该都注意到了我们的开发板...  随着电子行业的发展,现在也有越来越的多带USB接口的器件涌现出来,如带USB接口的单片
  • android adb 接口描述符

    千次阅读 2012-05-23 20:04:21
    Interface Descriptor:  bLength 9  bDescriptorType 4  bInterfaceNumber 1  bAlternateSetting 0  bNumEndpoints 2  bInter
  • SIEMENS_TC3x_AT指令集,SIEMENS_TC3x接口描述
  • 文章目录参考目的综述详细介绍USB Device Framework标准 USB 描述符定义1. 设备描述符 (struct usb_device_... 联合接口描述符(struct usb_interface_assoc_descriptor)4. 接口描述符(struct usb_interfac...
  • usb描述符, 存在于usb设备端, 用于描述该设备, 配置, 接口, 端点, 名称等信息。如 - Device Decriptor - Configuration Descriptor - Interface Association Descritor (IAD) - Interface Descriptor - ...
  • 关注+星标公众号,不错过精彩内容编排 | 一个早起的程序员一个早起的程序员1USB描述符USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符...
  • 关注+星标公众号,不错过...USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。我们先学会每个描述符的细节,我会写的非常详细且简洁...
  • 关注+星标公众号,不错过精彩内容编排 | 一个早起的程序员一个早起的程序员1USB描述符USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符...
  • USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。今天主要是学习USB端点描述符的组成。 2.端点描述符组成 前面讲了设备描述符、标准...
  • USB描述符

    2021-03-08 16:26:38
    一.设备描述符 二,配置描述符 三,接口描述符 四,端点描述符 五.字符串描述符
  • USB笔记 接口关联描述符 (Interface Association Descriptor) 接口关联描述符 (Interface Association Descriptor)(IAD)用于描述与同一功能相关联的两个或多个接口。 关联(association)包括两个或多个接口及其所有...
  • USB 接口关联描述符

    千次阅读 2014-01-06 09:13:01
    USB 接口关联描述符 (IAD) 允许设备将属于一个函数的接口组合在一起。本主题描述客户端驱动程序如何能够确定设备是否包含某个函数的 IAD。 通用串行总线规范版本 2.0 不支持将复合设备的多个接口组合在单一函数中。...
  • usb描述符

    2019-06-21 00:10:07
    usb描述符包括设备描述符、配置描述符、接口描述符、端口描述符、以及字符串描述符,描述符具有类似的格式,结构体的第一个字段是长度,第二个字段是描述符的类型值,标准描述符的类型值如下: 2. 设备描述符 ...
  • java8共提供了43个函数式接口,根据函数描述符可分为下面9种情况,其余均是为消除装箱拆箱所带来的性能影响而对原始类型特化产生的。Predicate < T >函数描述符: T -> boolean原始类型特化:IntPredicate,...
  • USB描述符有设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。我们先学会每个描述符的细节,我会写的非常详细且简洁,后面在学习USB枚举的时候会通过抓...
  • usb描述符详细讲解

    2016-01-18 16:48:47
    详细讲解的USB描述符,包括设备描述符,接口描述符,端点描述符,字符描述符,报告描述符

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,974
精华内容 1,989
关键字:

接口描述符