我正在使用libusb-1.0开发C应用程序,想要获取与USB设备相关的一些配置参数。我的问题与bcdUSB参数有关。我的代码如下:
libusb_device *dev;
struct libusb_device_descriptor desc;
....
ret = libusb_get_device_descriptor(dev, &desc);
if (ret<0) {
fprintf(stderr, "error in getting device descriptor\n");
return 1;
}
printf("bcdUSB: %04x\n", desc.bcdUSB);
有些设备我得到了0401的值:
bcdUSB: 0401
我不明白这个值的确切含义。
在libusb代码中,我发现在libusb_device_descriptor结构体代码中有这样一个注释:
/** USB specification release number in binary-coded decimal. A value of
* 0x0200 indicates USB 2.0, 0x0110 indicates USB 1.1, etc. */
uint16_t bcdUSB;
它只指定了0200和0110值的含义。是否有关于所有可能的bcdUSB值(包括0401)的文档?