lsusb一些知识

文章详细介绍了libusb库中用于获取和操作USB设备的各种描述符结构,包括设备描述符、配置描述符、接口描述符和端点描述符。同时,阐述了libusb_init初始化、libusb_get_device_list获取设备列表、libusb_open打开设备等关键API的使用方法,以及如何通过libusb_get_string_descriptor_ascii获取ASCII字符串描述符。
int libusb_get_device_descriptor(libusb_device *dev, struct libusb_device_descriptor *desc);

获取设备的设备描述符。

设备描述符、配置描述符、接口描述符、端点描述符:

// 设备描述符
struct libusb_device_descriptor {
    uint8_t   bLength;             // 本描述符的字节数,恒等于18。
    uint8_t   bDescriptorType;     // 本描述符类型,恒等于0x01。
    uint16_t  bcdUSB;              // USB规范版本号。
    uint8_t   bDeviceClass;        // USB标准化组织的类代码。
    uint8_t   bDeviceSubClass;     // USB标准化组织指定的子类代码,由 bDeviceClass 值限定。
    uint8_t   bDeviceProtocol;     // USB标准化组织指定的协议代码,由 bDeviceClass 和 bDeviceSubClass 值限定。
    uint8_t   bMaxPacketSize0;     // 端点0的最大数据包大小。
    uint16_t  idVendor;            // USB标准化组织指定的供应商ID。
    uint16_t  idProduct;           // USB标准化组织指定的产品ID。
    uint16_t  bcdDevice;           // 设备版本号。
    uint8_t   iManufacturer;       // 描述制造商的字符串描述符的索引。
    uint8_t   iProduct;            // 描述产品的字符串描述符的索引。
    uint8_t   iSerialNumber;       // 包含设备序列号的字符串描述符的索引。
    uint8_t   bNumConfigura
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迷糊的鱼(。・ω・。)ノ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值