精华内容
下载资源
问答
  • 今天主要是学习USB端点描述符的组成。 2.端点描述符组成 前面讲了设备描述符、标准配置描述符、接口描述符,本篇我们讲解端点描述符。首先要明确的一点是端点描述符不能单独返回给USB主机,主机会请求获得配置描述...

    目录

    1.USB描述符

    2.端点描述符组成

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

    4.接口描述符组成详解


    1.USB描述符

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

    2.端点描述符组成

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

    图片

    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

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

    图片

    3.bEndpointAddress

    Bit 3…0: 端点编号;

    Bit 6…4: 保留,默认为0;

    Bit 7:如果是控制端点可以忽略,因为控制端点有两个方向,否则一般表示数据传输方向,0 = OUT endpoint   1 = IN endpoint。

    4.bmAttributes

    Bits 1..0: Transfer Type,表示传输类型(传输类型在后面讲传输一节会详细讲解)

    00 = Control-控制传输

    01 = Isochronous-同步传输

    10 = Bulk-批量传输

    11 = Interrupt-中断传输

    Bits 7..2: 大家可以查看usb_20.pdf(下面有下载方法)。

    5.wMaxPackeSize(双字节)

    表示当前配置下此端点能够接收或发送的最大数据包的大小。

    对于同步端点,此值用于指示主机在调度中保留的总线时间,这是每(微)帧数据有效负载所需的时间,有效负载时间就是发送一帧数据需要占用的总线时间,在实际数据传输过程中,管道实际使用的带宽可能比保留的带宽少,大家想想,如果实际使用的带宽比保留的还多,那就丢数了;

    对于其类型的端点,bit10~bit0指定最大数据包大小(以字节为单位);

    bit12~bit11对于高速传输的同步和中断端点有效:bit12~bit11可指定每个微帧的额外通信次数,这里大家一定要知道是在高速传输中,当一个事务超时时,在一个微帧时间内重传的次数,如果设置为00b(None),则表示在一个微帧内只传输一个事务,不进行额外的超时重传,如果设置为01b,则表示在一个微帧内可以传输两次事务,有一次额外的重传机会,从下面可以看出,一个微帧最多可以有两次重传事务的机会,如果微帧结束了还是失败,就需要等到下一个微帧继续发送该事务;

    00 = None (1 transaction per microframe)

    01 = 1 additional (2 per microframe)

    10 = 2 additional (3 per microframe)

    11 = Reserved

    其它位默认为0,详细信息可参考usb_20文档第5章。

    6.bInterval

    查询时间,就是主机多久和设备通讯一次,主机在枚举设备的时候会得到端点描述符,然后根据端点描述符这个值和此端点进行对应的数据交互,也就是主机多久给端点发送一次数据请求。根据设备运行速度以帧或微帧表示,低速和全速称为帧,下面的一个值代表1ms,高速称为微帧,一个值代表125us。

    对于全速/高速同步端点,此值必须在1到16之间。bInterval值用作2的指数,例如bInterval为4,表示周期为8个单位;

    对于全速/低速中断端点,该字段的值可以是1到255,也就是主机多少ms给设备发一次数据请求;

    对于高速中断端点,使用bInterval值作为2的指数,例如bInterval为4表示周期为8。这个值必须在1到16之间;

    对于高速批量/控制输出端点,bInterval必须指定端点的最大NAK速率。值0表示端点永不NAK。其它值表示每个微帧的bInterval*125us时间最多1个NAK。这个值的范围必须在0到255之间;

    对于全速/低速批量/控制输出端点,此值无意义,可以任意指定。

    大家根据以上说明对号入座使用,用的时候在详细看usb_20.pdf文档。

    图片注:端点描述符内容还是很多的,我们如果使用USB也没必须要研究的很细,如果想更深入的了解请进入公众号点击下载区,在文档栏下载USB2.0规范文档集合,查看usb_20.pdf文档了解更详细的内容。


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

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

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

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

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

    展开全文
  • STM32 USB设备描述符、配置描述符、端点描述符含义 查了一整天的资料,自己把不懂的全部试了一遍 一下是程序以及注释 复制代码 /* USB设备描述符*/ const uint8_t CustomHID_DeviceDescriptor[CUSTOMHID_SIZ_DEVICE_...

    STM32 USB设备描述符、配置描述符、端点描述符含义
    查了一整天的资料,自己把不懂的全部试了一遍

    一下是程序以及注释

    复制代码
    /* USB设备描述符*/
    const uint8_t CustomHID_DeviceDescriptor[CUSTOMHID_SIZ_DEVICE_DESC] =
    {
    0x12, /bLength 描述符的长度/
    USB_DEVICE_DESCRIPTOR_TYPE, /bDescriptorType 描述符的类型(设备描述符为0x01)/
    0x00, /bcdUSB USB协议的版本/
    0x02,

    0x00,                       /*bDeviceClass 类代码*/
    0x00,                       /*bDeviceSubClass 子类代码*/
    0x00,                       /*bDeviceProtocol  设备所使用的协议*/
    0x40,                       /*bMaxPacketSize 端点0的最大包长*/
        /*idVendor  厂商ID*/
    LOBYTE(USB_VID),                       
    HIBYTE(USB_VID),
        /*idProduct 设备ID*/
    LOBYTE(USB_PID),                       
    HIBYTE(USB_PID),
        
    0x00,                       /*bcdDevice rel 设备版本号*/
    0x02,
         
    1,                          /*描述生产厂家的字符串描述符的索引*/
    2,                          /*描述产品的字符串描述符的索引*/
    3,                          /*产品序列号的字符串描述符的索引*/
    0x01                        /*bNumConfigurations  可能的配置数*/
    

    }
    ; /* CustomHID_DeviceDescriptor */

    /* USB配置描述符 /
    /
    All Descriptor s (Configuration, Interface, Endpoint, Class, Vendor /
    const uint8_t CustomHID_ConfigDescriptor[CUSTOMHID_SIZ_CONFIG_DESC] =
    {
    //以下为配置描述符
    0x09, /
    bLength: 端点描述符长度*/
    USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType: 描述符类型 (配置描述符为0x02) */

    LOBYTE(CUSTOMHID_SIZ_CONFIG_DESC),/* wTotalLength: 配置描述符集合总长度 */
    HIBYTE(CUSTOMHID_SIZ_CONFIG_DESC),
        
    0x01,         /* bNumInterfaces: 该配置所支持的接口数*/
    0x01,         /* bConfigurationValue: 该配置的值*/
    0x00,         /* iConfiguration: 描述配置的字符串描述符的索引*/
    0xA0,         /* bmAttributes:该设备的属性(总线供电,支持远程唤醒)
                                        bit 4 ... 0: 保留(必须为0)
                                        bit 5: 1表示支持远程唤醒
                                        bit 6: 1表示设备是自供电 0表示是总线供电
                                        bit 7: 保留(必须为1)    */
        
    0xC8,         /* MaxPower 设备所需要的电流(单位为2mA)400 mA*/
        
        
        //以下为接口描述符
    0x09,         /* bLength: 接口描述符长度*/
    USB_INTERFACE_DESCRIPTOR_TYPE,/* bDescriptorType: 描述符类型 (接口描述符为0x04)*/
    0x00,         /* bInterfaceNumber: 该接口编号(从0开始) */
    0x00,         /* bAlternateSetting: 该接口的备用编号 */
    0x02,         /* bNumEndpoints 该接口所使用的端点数*/
    0x03,         /* bInterfaceClass: 该接口所使用的类*/
    0x00,         /* bInterfaceSubClass : 该接口所使用的子类 */
    0x00,         /* nInterfaceProtocol : 该接口所使用的协议 0 =无,1 =键盘,2 =鼠标*/
    0,            /* iInterface: 描述该接口的字符串描述符的索引 */
        
        //以下为HID描述符
    0x09,         /* bLength: HID描述符长度 */
    HID_DESCRIPTOR_TYPE, /* bDescriptorType: 描述符类型 (接口描述符为0x21) */
    0x10,         /* bcdHID: HID 协议版本号 */
    0x01,
    0x00,         /* bCountryCode: 国家代码 (美式键盘代码为0x21)*/
    0x01,         /* bNumDescriptors:下级描述符的数量*/
    0x22,         /* bDescriptorType 下级描述符的类型*/
    LOBYTE(CUSTOMHID_SIZ_REPORT_DESC),/* wItemLength: 下级描述符的长度*/
    HIBYTE(CUSTOMHID_SIZ_REPORT_DESC),
        
        //以下为端点描述符
    /******************** Descriptor of Custom HID endpoints ******************/
    0x07,          /* bLength:端点描述符长度 */
    USB_ENDPOINT_DESCRIPTOR_TYPE, /* 描述符类型 (端点描述符为0x05)*/
    0x81,          /* bEndpointAddress:端点地址
                       bit 3 ... 0:端点号
                       bit 6 ... 4:保留(设置为0)
                       bit 7:0(OUT),1(IN)*/
    0x03,          /* bmAttributes: 端点属性 
                             bit 1 ... 0:表示该端点的传输类型
                                                                            0  控制传输
                                                                            1  等时传输
                                                                            2  批量传输
                                                                            3  中断传输
                                                 bit 7 ... 2:如果该端点是非等时传输 则bit 7 ~ 2 保留(设置为0)
                                                                            如果该端点是等时传输
                                                                            bit 3 ... 2:    表示同步类型
                                                                                                              0 无同步
                                                                                                                1    异步
                                                                                                                2 适配
                                                                                                                3 同步
                                                                            bit 5 ... 4:    表示用途
                                                                                                              0 数据端点
                                                                                                                1    反馈端点
                                                                                                                2 暗含反馈的数据端点
                                                                                                                3 保留
                                                                            bit 7 ... 6:    保留*/
    0x40,          /* wMaxPacketSize: 该端点支持的最大包长度 */
    0x00,
    0x0A,          /* bInterval:端口的查询时间*/
        
        //以下为输出端点1描述符
    0x07,    /*bLength:端点描述符大小 */
    USB_ENDPOINT_DESCRIPTOR_TYPE,    /* 端点描述符类型*/
    0x01,              /* bEndpointAddress:端点地址
                       bit 3 ... 0:端点号
                       bit 6 ... 4:保留
                       bit 7:0(OUT),1(IN)*/
    0x03,    /* bmAttributes: 中断端点 */
    0x40,    /* wMaxPacketSize: 最多64个字节  */
    0x00,
    0x0A,    /* bInterval: 轮询间隔(20毫秒)*/
    

    };
    复制代码

    展开全文
  • USB-端点描述符(六)

    千次阅读 2020-01-16 16:58:43
    USB鼠标详解阅读顺序 1、枚举 2、设备描述符 3、设置地址 4、配置描述符 5、接口描述符 ...linux内核中对端点描述符的定义,目录:linux/include/uapi/linux/usb/ch9.h /* USB_DT_ENDPOINT:...

     USB 鼠标详解阅读顺序

    1、枚举

    2、设备描述符

    3、设置地址

    4、配置描述符

    5、接口描述符

    6、HID 描述符

    7、端点描述符

    8、字符串描述符

    9、HID 报告描述符

    10、HID 报告的返回

     

    linux 内核中对端点描述符的定义,目录:linux/include/uapi/linux/usb/ch9.h

    /* USB_DT_ENDPOINT: Endpoint descriptor */
    struct usb_endpoint_descriptor {
    	__u8  bLength;
    	__u8  bDescriptorType;
    
    	__u8  bEndpointAddress;
    	__u8  bmAttributes;
    	__le16 wMaxPacketSize;
    	__u8  bInterval;
    } __attribute__ ((packed));

    省略了音频相关的数据结构

    bLength:该描述符的长度。标准的 USB 端点描述符的长度为 7 字节

    bDescriptorType:描述符的类型,端点描述符的类型编码为 0x05

    bEndpointAddress:该端点地址。最高位 D7 为该端点的传输方向,1 为输入,0 为输出。D3-D0 为端点号。D6-D4保留,为 0

    bmAttributes:该端点的属性

    wMaxPacketSize:2 字节,该端点所支持的最大包长度,注意低字节在前

    bInterval:表示该端点的查询时间。对于中断端点,表示查询的帧间隔数。

    USB 鼠标的数据传输如下

    0x07 bLength 字段。端点描述符长度为 7 字节

    0x05 bDescriptorType 字段。端点描述符编号为 0x05

    0x81 bEndpointAddress字段。端点的地址,7位表示数据方向,输入端点D7为1。所以输入端点1的地址为0x81

    0x03 bmAttributes 字段。D1~D0 为端点传输类型选择,该端点为中断端点。中断端点的编号为3。其它位保留为0

    0x05  wMaxPacketSize 字段。该端点的最大包长。端点 1 的最大包长为 5 字节 低字节在前

    0x00

    0x0A bInterval字段。端点查询的时间,我们设置为10个帧时间,即10ms

    至此,USB 的配置描述符已经全部返回。包括:配置描述符,接口描述符,HID 描述符和端点描述符

    展开全文
  • 端点描述符,是描述USB通信通道或管道的类型和功能的标准USB描述符。

    USB的端点描述符详解

    1. 端点描述符,是描述USB通信通道或管道的类型和功能的标准USB描述符。

    • 端点描述符和接口描述符还有配置描述符一样,不能单独发送给USB主机,需要以配置描述符集合的形式发送给主机。
    • 在设备描述服务那篇文章里,我曾经提到过USB里面有一个定义叫做端点,并做了一个比较生动的比喻,我把那段话直接复制过来:
    • 向前有4个行车道(1,2,3,4),向后有4个行车道(1,2,3,4),这就是4个双向端点。假设它们都属于一条津某高速路(一个USB接口),有的向前有的向后(有的输入有的输出),有向前的1号行车道(有输出的1号端点)。

    • 所以端点描述符,就是对USB通讯中用到的端点做一个功能描述。我们看一下下面的表格: 

    • 这里尽量给大家描述清楚。

    • /*1.bLength,长度,不解释。*/
    • /*2.bDescriptorTyep,描述符类型。看代码:*/
      #define USB_DESC_TYPE_DEVICE 0x01U
      #define USB_DESC_TYPE_CONFIGURATION 0x02U
      #define USB_DESC_TYPE_STRING 0x03U
      #define USB_DESC_TYPE_INTERFACE 0x04U
      #define USB_DESC_TYPE_ENDPOINT 0x05U
      #define USB_DESC_TYPE_DEVICE_QUALIFIER 0x06U
      #define USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION 0x07U
      #define USB_DESC_TYPE_BOS 0x0FU
    • /*3.bmAttributes,属性,这一位稍微有点复杂。如下*/
      /*Bits 1..0: Transfer Type,传输类型*/
      00 = Control-控制传输
      01 = Isochronous-等时传输
      10 = Bulk-批量传输
      11 = Interrupt-中断传输
      
      /*如果不是一个等时传输端点,第5~2位是保留的,必须设置为0。如果它是等时的,则定义如下:*/
      /*Bits 3..2: Synchronization Type-同步类型*/
      00 = No Synchronization-无同步
      01 = Asynchronous-异步
      10 = Adaptive-适配
      11 = Synchronous-同步
      
      /*Bits 5..4: Usage Type-用途*/
      00 = Data endpoint-数据端点
      01 = Feedback endpoint-反馈端点
      10 = Implicit feedback Data endpoint-暗含反馈的数据端点
      11 = Reserved-保留
    • /*4.wMaxPackeSize,端点支持的最大包长。对于等时端点,此值用于在调度中保留总线时间,这是每(微)帧数据有效负载所需的时间。在进行中,管道实际使用的带宽可能比保留的带宽少。如果有必要,设备会报告通过其正常的、非usb定义的机制所使用的实际带宽。*/
      /*对于所有的端点,bit10~bit0指定最大数据包大小(以字节为单位)。*/
      
      /*5.对于高速同步和中断端点:bit12~bit11指定每个微帧的额外通信次数:*/
      00 = None (1 transaction per microframe)
      01 = 1 additional (2 per microframe)
      10 = 2 additional (3 per microframe)
      11 = Reserved
      
      /*其它位默认为0,详细信息可参考usb_20文档第5章。*/
    • /*6.bInterval,查询时间,说白了就是主机多久和设备通讯一次。根据设备运行速度以帧或微帧表示。
      
      对于全/高速等时端点,此值必须在1到16之间。bInterval值用作2的指数;例如,bInterval为4,表示周期为8, 2(4 – 1)。
      
      对于全速/低速中断端点,该字段的值可以是1到255。
      
      对于高速中断端点,使用bInterval值作为2的指数;例如,bInterval为4表示周期为8 ,2(4-1)。这个值必须在1到16之间。
      
      对于高速批量/控制输出端点,bInterval必须指定端点的最大NAK速率。值0表示端点永不NAK。其它值表示每个微帧的bInterval数最多1个NAK。这个值的范围必须在0到255之间。
      
      详细信息可参考usb_20文档第5章。*/

       

    展开全文
  • USB笔记 端点描述符 (Endpoint Descriptor) 端点描述符 (Endpoint Descriptor)描述了USB规范定义的端点信息,包含有端点的带宽等信息。每一个端点都有自己的端点描述符。主机端获取端点描述符 (Endpoint Descriptor)...
  • 该程序用于从接口描述符集合中得到第 N个端点描述符。源码如下 ** * 从接口描述符集合中获取端点描述符 * @param intf_desc 接口描述符 * @param num 要获取的第几个端点描述符 * @param ep...
  •   USB协议规定,接口描述符不能单独返回,必须附着在配置描述符后一并返回。 3.3.1、接口关联描述符(8字节) 字段 长度(位) 偏移量(位) 十六进制值 说明 bLength 8 72 0x08 描述符大小为8字节 ...
  • 根据USB协议规定,接口描述符不能单独返回,必须附着在配置描述符后一并返回。 接口描述符 标准的接口描述符的结构如下: 接口描述符 偏移量/字节 域 大小/字节 说 明 0 bLength 1 该描述符...
  • 3.3.2、RNDIS接口描述符(9字节)   RNDIS 是 Remote Network Driver Interface Specification(远程网络驱动程序接口规范) 的首字母缩写,实际上的作用为 TCP/IP over USB,也即视 USB 设备(如手机)为网卡,是...
  • 五、ECM网卡   以太网控制模型...ECM是标准的,隶属USB协议,当然是usb封装的TCP协议,数据接口则用于在USB总线上交换USB数据包,这些USB数以的包封装了完整的以太网包。   8910平台支持ECM功能,默认处于关
  • 四、虚拟串口   大家在开发单片机应用时或多或少应该都用过物理串口。对硬件有所了解的小伙伴应该都注意到了我们的开发板...  随着电子行业的发展,现在也有越来越的多带USB接口的器件涌现出来,如带USB接口的单片
  • 文章目录参考目的综述详细介绍USB Device Framework标准 USB 描述符定义1. 设备描述符 (struct usb_device_descriptor)2. 配置描述符(struct usb_config_descriptor)3. 联合接口描述符(struct usb_interface_...
  • USB四大描述符

    2020-01-09 21:12:49
    1 层次介绍 在USB描述符中,从上到下分为四个层次: USB设备描述符(usb_device_descriptor...USB端点描述符(usb_endpoint_descriptor)、 一个设置描述符可以有多个配置描述符; 一个配置描述符可以有多个接口描述...
  • 端点(Endpoint):主机与从机之间通讯数据的接收或发送的逻辑通道。...端点描述符是描述USB通信通道或管道的类型和功能的标准USB描述符。 偏移量 名称 大小 说明 0 bLength 1 描述符的长度(7字
  • 设备截断 ==设备 配置 接口 端点
  • 学习目标:分析USB摄像头驱动的描述符; 一、USB设备描述符 在usb设备驱动分析那一节,也用到了usb描述符。 usb描述符可分为: ...USB设备描述符(usb_device_descriptor);...USB端点描述符(usb_endpoin...
  • USB设备描述符

    2019-10-08 17:59:25
    在接口描述符 里面又定义了该接口有多少个端点,每个端点对应一个端点描述符端点描述符定义了端点的大小,类型等等。由此我们可以看出,USB的描述符之间的关系是一 层一层的,最上一层是设备描述符,下面是配置...
  • USB_4大描述符

    2021-03-04 23:15:23
    USB端点描述符(usb_endpoint_descriptor)、 一个设置描述符可以有多个配置描述符 一个配置描述符可以有多个接口描述符(比如声卡驱动,就有两个接口:录音接口和播放接口) 一个接口描述符可以有多个端点描述符 ...
  • USB描述符及各种描述符之…

    千次阅读 2014-08-19 16:29:53
    原文地址:USB的描述符及各种描述符之间的依赖关系(转自电脑圈圈)作者:狼之行  USB的描述符及各种描述符之间的依赖...USB的描述符主要有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,HID描述符
  • #ifndef __USBEP1_H_ ...#include "usb.h" #include "usbhw.h" extern s8 sendBuffer[4]; //鼠标数据发送缓冲区 extern u8 mouse_connect; //鼠标连接标志 void usb_ep1_in_process(void); ...
  • USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。今天主要是学习USB接口描述符的组成。 2.接口描述符组成 前面讲了设备描述符和标准...
  • USB入门系列之七 —— USB的描述符及各种描述符之间的依赖关系 USB是个通用的总线,端口都是统一的。但是USB设备却各种各样, ...端点描述符,字符串描述符,HID描述符,报告描述符等等。 关于报告描述符,请看我以
  • USB HID描述符

    2011-10-17 17:40:51
    USB中,USB HOST是通过各种描述符来识别设备的,有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,报告描述符等等。USB报告描述符(Report Descriptor)是HID设备中的一个描述符,它是比较复杂的一...
  • USB笔记 超高速端点伙伴描述符 (SuperSpeed Endpoint Companion Descriptor) 超高速端点伙伴描述符 (SuperSpeed Endpoint Companion Descriptor)用于支持增强型超高速功能(Enhanced SuperSpeed capabilities)。 只有...
  • usb标准描述符

    2013-04-19 17:10:03
     USB的描述符主要有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,HID描述符,报告描述符等等。  一个USB设备有一个设备描述符,设备描述符里面决定了该设备有多少种配置,每种配置描述符...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 394
精华内容 157
关键字:

usb端点描述符