2

libusb 提供 libusb_set_interface_alt_setting() 方法为接口提供备用设置。我的问题是为界面设置备用设置是什么意思。

if ((ret = libusb_claim_interface(handle, interface))  == LIBUSB_SUCCESS)
       {
           printf("%s: interface %d claimed.\n", __FUNCTION__, interface);

           /* Set alternate interface */
           if ((ret = libusb_set_interface_alt_setting(handle, interface, alternate)) == LIBUSB_SUCCESS)
           {
              printf("%s: alternate interface %d set.\n", __FUNCTION__, alternate);
              return CIMAX_USB_NO_ERROR;
           }
           else
             printf("%s: setting alternate interface %d failed (%s)!\n", __FUNCTION__, alternate, libusb_error_name(ret));
        }
        else
          printf("%s: claim interface %d failed (%s)!\n", __FUNCTION__, interface, libusb_error_name(ret));
4

2 回答 2

1

USB 设备支持单个设备中的多个接口。此 API 根据功能用户空间应用程序的要求设置当前接口的活动备用设置。在内部,它用于IOCTL_USB_SETINTF将应用程序的需求传达给 Linux USB 主机框架的 usbcore 模块。

于 2013-07-16T11:28:13.160 回答
0

备用接口设置适用于多功能设备。要使用特定功能或接口,您需要选择接口和相关的备用设置。

例如,摄像机需要初始化两个接口设置,一个用于音频,另一个用于视频。

于 2013-07-09T11:17:46.610 回答