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

文章详细介绍了libusb库中用于获取和操作USB设备的各种描述符结构,包括设备描述符、配置描述符、接口描述符和端点描述符。同时,阐述了libusb_init初始化、libusb_get_device_list获取设备列表、libusb_open打开设备等关键API的使用方法,以及如何通过libusb_get_string_descriptor_ascii获取ASCII字符串描述符。
最低0.47元/天 解锁文章
3542

被折叠的 条评论
为什么被折叠?



