USB主机枚举USB设备步骤:
1.USB主机对USB设备进行复位,复位后USB设备用端点0来传输数据;USB主机向USB设备发送获取设备描述符指令,USB设备收到指令后,通过端点0将设备描述符信息返回给USB主机,且若端点0中包含完整的18字节设备描述符信息,则将完整的设备描述符信息返回给USB主机;而若端点0中包含的设备描述符信息小于18字节,则将已包含的设备描述符信息返回给USB主机;其中,完整的设备描述符信息包括USB协议版本信息、厂家VID信息、数据包大小信息以及PID信息;
2.USB主机对USB设备进行再复位,并分配一唯一地址给USB设备作为新地址;USB主机再次向USB设备发送获取设备描述符指令,USB设备收到指令后,若端点0中包含完整的18字节设备描述符信息,则通过新地址将完整的18字节设备描述符信息返回给USB主机;若端点0中包含的设备描述符信息小于18字节,则通过新地址将已包含的设备描述符信息返回给USB主机,并继续向USB设备发送获取设备描述符指令,直至将完整的18字节设备描述符信息均返回给USB主机;
3.获取完设备描述符信息后,USB主机向USB设备发送获取配置描述符指令,USB设备收到指令后,通过新地址将配置描述符信息返回给USB主机;其中,配置描述符信息包括设备类型信息、总线供电方式信息、数据包大小信息、端点传输及接收数据的信息;
4.获取完配置描述符信息后,USB主机向USB设备发送获取报告描述符指令,USB设备收到指令后,通过新地址将报告描述符返回给USB主机,获取的报告描述符的数据信息包括设备类型信息、报告ID信息、数据位数信息、数据长度信息、逻辑最大值信息以及逻辑最小值信息。