11.16.2.6 获取端口状态
此请求返回当前端口状态以及端口状态变更位的当前值。
| bmRequestType | bRequest | wValue | wIndex | wLength | 数据 |
|---|---|---|---|---|---|
| 10100011B | GET_STATUS | 零 | 端口号 | 四 | 端口状态及变更指示符 |
端口号必须是该集线器的一个有效端口号(大于零)。
数据的第一个字包含 wPortStatus(参见表 11-15)。数据的第二个字包含 wPortChange(参见表 11-16)。
wPortStatus 和 wPortChange 字段中的位位置在适用情况下以一一对应的方式关联。
如果 wValue 或 wLength 的值与上述规定不符,或者 wIndex 指定的端口不存在,则为请求错误。
如果集线器未完成配置,则其对此请求的响应是未定义的。
11.16.2.6.1 端口状态位
表 11-15. 端口状态字段 wPortStatus
| 位 | 描述 |
|---|---|
| 0 | 当前连接状态 (PORT_CONNECTION): 此字段反映当前是否有设备连接到此端口。 0 = 无设备连接 1 = 有设备连接到此端口 |
| 1 | 端口启用/禁用 (PORT_ENABLE): 端口只能由 USB 系统软件启用。端口可因故障条件(断开连接事件或其他故障条件)或由 USB 系统软件禁用。 0 = 端口已禁用 1 = 端口已启用 |
| 2 | 挂起 (PORT_SUSPEND): 此字段指示此端口上的设备是否处于挂起状态。设置此字段将通过不向下游传播总线流量使设备挂起。此字段可通过请求或端口连接设备发出的恢复信号来复位。 0 = 未挂起 1 = 已挂起或正在恢复中 |
| 3 | 过流指示器 (PORT_OVER_CURRENT): 如果集线器按端口报告过流情况,此字段将指示端口上的电流消耗已超过规定最大值。有关更多详细信息,请参见第 7.2.1.2.1 节。 0 = 此端口不存在过流情况 1 = 此端口存在过流情况 |
| 4 | 复位 (PORT_RESET): 当主机希望复位连接的设备时设置此字段。它将保持设置状态,直到集线器停止复位信令。 0 = 未激活复位信令 1 = 已激活复位信令 |
| 5-7 | 保留 读取时这些位返回 0。 |
| 8 | 端口电源 (PORT_POWER): 此字段反映端口的逻辑电源控制状态。由于集线器可以实现不同的端口电源切换方法,此字段可能代表也可能不代表端口是否已供电。设备描述符报告了集线器实现的电源切换类型。 0 = 此端口处于断电状态 1 = 此端口不处于断电状态 |
| 9 | 连接低速设备 (PORT_LOW_SPEED): 此字段仅在连接设备时相关。 0 = 此端口连接了全速设备 1 = 此端口连接了低速设备 |
| 10-15 | 保留 读取时这些位返回 0。 |
