zoukankan      html  css  js  c++  java
  • usb库文件usb_desc.c分析

    参考《圈圈教你玩USB》

    usb协议中使用的是小端结构,所以实际数据在传输时是低字节在先的。

    设备描述符的实现:

      已知每个设备都必须有且仅有一个设备描述符,它的结构在USB协议中有详细的定义。

                  偏移量                             域                  大小/字节                          说 明                       
    0 bLength 1 该描述符的长度(18字节)
    1 bDescription 1 描述符类型(设备描述符为0x01)
    2 bcdUSB 2 本设备所使用的usb协议版本
    4 bDeviceClass 1 类代码
    5 bDeviceSubClass 1 子类代码
    6 bDeviceProtocol 1 设备所使用的协议
    7 bMaxPackSize0 1 端点0最大包长
    8 idVender 2 厂商id
    10 idProduct 2 产品ID
    12 bcdDevice 2 设备版本号
    14 iManufacturer 1 描述厂商的字符串的索引
    15 iProduct 1 描述产品的字符串的索引
    16 iSerialNumber 1 产品序列号字符串的索引
    17 bNumcofigurations 1 可能的配置数
     1 const uint8_t MASS_DeviceDescriptor[MASS_SIZ_DEVICE_DESC] =
     2   {
     3     0x12,   /* bLength  */
     4     0x01,   /* bDescriptorType */
     5     0x00,   /* bcdUSB, version 2.00 */
     6     0x02,
     7     0x00,   /* bDeviceClass : each interface define the device class */
     8     0x00,   /* bDeviceSubClass */
     9     0x00,   /* bDeviceProtocol */
    10     0x40,   /* bMaxPacketSize0 0x40 = 64 */
    11     0x83,   /* idVendor     (0483) */
    12     0x04,
    13     0x20,   /* idProduct */
    14     0x57,
    15     0x00,   /* bcdDevice 2.00*/
    16     0x02,
    17     1,              /* index of string Manufacturer  */
    18     /**/
    19     2,              /* index of string descriptor of product*/
    20     /* */
    21     3,              /* */
    22     /* */
    23     /* */
    24     0x01    /*bNumConfigurations */
    25   };

     

  • 相关阅读:
    第四章 证券投资基金的监管
    第三章 证券投资基金类型
    第二章 证券投资基金概述
    第一章 金融、资产管理与投资基金
    第一章附录
    第1章 为什么研究货币、银行与金融市场
    最近值得珍惜的小事
    转_如何解决linux动态库版本控制
    爆裂鼓手
    修改jupyter notebook默认路径
  • 原文地址:https://www.cnblogs.com/prayer521/p/5823921.html
Copyright © 2011-2022 走看看