主机发送Get_Descriptor请求获取默认管道的最大包长度,然后(Windows)系统会要求hub对设备进行一次的复位操作(USB规范里面没这要求)。再次复位的目的是使设备进入一个确定的状态。主机控制器通过Set_Address请求向设备分配一个唯一的地址。在完成这次传输之后,设备进入地址状态(Address state),之后就启用新地址继续与主机通信。这个地址对于设备来说是终生制的,设备在,地址在;设备消失(被拔出,复位,系统重启),地址被收回。同一个设备当再次被枚举后得到的地址不一定是上次那个了。
到了这个时候,也就是SetAddress后,设备的地址域就不是0了。
|