为什么我需要一个没有端点的 USB 备用接口?

Tim*_*mmm 4 usb interface endpoint alternate

Atmel 为 USB 设备提供的示例代码有一个具有两种备用设置的接口。第一个没有端点,第二个有 6 个端点。这有什么原因吗 - 为什么不只为所有端点设置一个备用设置?

我在互联网上发现了一个模糊的帖子,暗示这可能与省电有关。有人有什么主意吗?

Tim*_*mmm 5

啊,看来是因为具有同步端点的接口保留了 USB 总线上的带宽。但是使用没有同步端点的默认备用可以避免这个问题。

资料来源:

http://www.makelinux.net/ldd3/chp-13-sect-1

接口的初始状态为第一个设置,编号为 0。备用设置可用于以不同方式控制各个端点,例如为设备保留不同数量的 USB 带宽。每个具有同步端点的设备都使用同一接口的备用设置。

https://msdn.microsoft.com/en-us/library/windows/hardware/jj124028(v=vs.85).aspx

此测试验证当任何设备具有消耗等时带宽的接口时,该设备支持该接口的多个备用设置,并且备用设置 0(零)不消耗等时带宽。