usb设备在正常工作以前,第一件事就是枚举。枚举是让HOST认得这个usb设备,并且为该设备准备资源,建立好主机和设备之间的数据传递机制。
设备枚举过程
1 获取设备描述符
2复位
3设置地址
4再次获取设备描述符
5获取配置描述符
6获取接口,端点描述符
7获取字符串描述符
8选择设备配置
(网络大端,usb小端)
usb鼠标枚举过程----------------------
packet138-----------80 06 00 01 00 00 40 00
80-------device to host
06-------get descriptor
0100--------- 取描述符时,wValue域的高一字节标识描述表类型,低一字节表示描述表的索引-------01:device---------00
0000--------
0040--------由于主控器不知道USB设备设备描述符有多长,所以包的最后里的长度是0x0040,也就是64个字节长度