开发者社区> 桃子红了呐> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

USB descriptor【转】

简介:
+关注继续查看

  1. 复制代码
    struct usb_device_descriptor {  
        __u8  bLength;//设备描述符的字节数大小,为0x12   
        __u8  bDescriptorType;//描述符类型编号,为0x01   
      
        __le16 bcdUSB;//USB版本号   
        __u8  bDeviceClass;//USB分配的设备类代码,0x01~0xfe为标准设备类,0xff为厂商自定义类型   
          
        //0x00不是在设备描述符中定义的,如HID   
        __u8  bDeviceSubClass;//usb分配的子类代码,同上,值由USB规定和分配的  
        __u8  bDeviceProtocol;//USB分配的设备协议代码,同上   
        __u8  bMaxPacketSize0;//端点0的最大包的大小   
        __le16 idVendor;//厂商编号   
        __le16 idProduct;//产品编号   
        __le16 bcdDevice;//设备出厂编号  
        __u8  iManufacturer;//描述厂商字符串的索引   
        __u8  iProduct;//描述产品字符串的索引  
        __u8  iSerialNumber;//描述设备序列号字符串的索引   
        __u8  bNumConfigurations;//可能的配置数量  
    } __attribute__ ((packed));  
      
      
    struct usb_config_descriptor {  
        __u8  bLength;//设备描述符的字节数大小,为0x12   
        __u8  bDescriptorType;//描述符类型编号,为0x01   
        __le16 wTotalLength;//配置所返回的所有数量的大小   
      
        __u8  bNumInterfaces;//此配置所支持的接口数量   
        __u8  bConfigurationValue;//Set_Configuration命令需要的参数值   
        __u8  iConfiguration;//描述该配置的字符串的索引值   
        __u8  bmAttributes;//供电模式的选择  
        __u8  bMaxPower;//设备从总线提取的最大电流   
    } __attribute__ ((packed));  
      
    struct usb_interface_descriptor {  
        __u8  bLength;//设备描述符的字节数大小,为0x12  
        __u8  bDescriptorType;//描述符类型编号,为0x01   
      
        __u8  bInterfaceNumber;//接口的编号   
        __u8  bAlternateSetting;//备用的接口描述符编号   
        __u8  bNumEndpoints;//该接口使用端点数,不包括端点0  
        __u8  bInterfaceClass;//接口类型   
        __u8  bInterfaceSubClass;//接口子类型  
        __u8  bInterfaceProtocol;//接口所遵循的协议   
        __u8  iInterface;//描述该接口的字符串索引值  
    } __attribute__ ((packed));  
      
      
    struct usb_endpoint_descriptor {  
        __u8  bLength;//设备描述符的字节数大小,为0x12   
        __u8  bDescriptorType;//描述符类型编号,为0x01   
      
        __u8  bEndpointAddress;//端点地址及输入输出属性   
        __u8  bmAttributes;//端点的传输类型属性   
        __le16 wMaxPacketSize;//端点收、发的最大包的大小  
        __u8  bInterval;//主机查询端点的时间间隔  
      
        /* NOTE:  these two are _only_ in audio endpoints. */  
        /* use USB_DT_ENDPOINT*_SIZE in bLength, not sizeof. */  
        __u8  bRefresh;  
        __u8  bSynchAddress;  
    } __attribute__ ((packed));  
      
    struct usb_string_descriptor {  
        __u8  bLength;//设备描述符的字节数大小,为0x12   
        __u8  bDescriptorType;//描述符类型编号,为0x01   
      
        __le16 wData[1];        /* UTF-16LE encoded */  
    } __attribute__ ((packed));  
    复制代码

     










本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/5063316.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
typescript5-编译和安装ts代码
typescript5-编译和安装ts代码
21 0
Typescript中泛型<T>详细讲解
Typescript中泛型<T>详细讲解
124 0
如何安装typescript-如何运行typescript
如何安装typescript-如何运行typescript
33 0
遍历 USB devcie,读取设备描述符 device descriptor【转】
转自:http://blog.csdn.net/flyyyri/article/details/5480347 理论:    对于USB接口的设备,现在越来越多了。本篇我们就通过获取一个USB扫描仪设备中的序列号,来介绍如何获取usb设备的一些硬件信息。
752 0
OC语言description方法和sel
OC语言description方法和sel 一、description方法 Description方法包括类方法和对象方法。(NSObject类所包含) (一)基本知识 -description(对象方法) 使用NSLog和@%输出某个对象时,会调用对象的description方法,并拿到返回值进行输出。
687 0
内存使用率 script
#!/bin/bash ps -C $1 -O rss | gawk '{ count ++; sum += $2 }; \ END {count --; print "Number of processes =",count; \ print "Memory usage per procsss =",sum/1024/count, "MB"; \ print "Total memo
974 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载