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));
答案 0 :(得分:0)
备用界面设置适用于多功能设备。要使用特定功能或界面,您需要选择界面和相关的备用设置。
例如,摄像机需要初始化两个接口设置,一个用于音频,另一个用于视频。
答案 1 :(得分:0)
USB设备支持单个设备中的多个接口。此API根据功能用户空间应用程序的要求设置当前接口的活动备用设置。在内部,它使用IOCTL_USB_SETINTF
将应用程序的需求传达给Linux USB主机框架的usbcore模块。