USB设备的配置和接口有什么区别?

what's difference between configuration and interface in USB device?

USB 设备中 configurationinterface 有什么区别?

如果你能举例说明,我将不胜感激。

USB 设备具有一定数量的配置。 USB 主机必须告诉设备使用哪种配置作为设置它所需的最后步骤之一。

每种配置都有不同的电源要求和一组不同的公开接口。您可以将接口视为设备的功能或特性。一个接口可能是 HID 键盘,另一个接口可能是虚拟串行 USB CDC ACM 串行端口。主机端的典型 USB 驱动程序会将自己附加到设备的接口而不是整个设备。

具有多种配置的设备可能具有高功率配置,其中它提供了一些需要大量功率的接口(例如,通过 USB 电源控制电机的接口)和低功率配置,只有低功率电源接口。

每个设备至少需要一个配置和一个接口。我认为具有不止一种配置的设备很少见,因为您需要在主机端专门的驱动程序来选择配置,而且它不是很有用。具有多个接口的设备称为复合设备,这些很常见。

来自 USB 规范第 9.6.3 节: 'USB' 设备具有一个或多个配置(描述符)。每个配置有一个或多个接口,每个接口有零个或多个端点。