初级会员
- 积分
- 128
- 金钱
- 128
- 注册时间
- 2015-11-25
- 在线时间
- 25 小时
|
1金钱
最近也在尝试把STM32 USB做成一个USB Hub,我的Hub枚举就失败了,卡在请求配置描述符失败。请问USB Hub是怎么枚举的? 用找了个Hub用抓包工具看了下描述符,发现Hub比USB设备多了USB Hub Descriptor跟Device Qualifier Descriptor这两个描述符。在usb_Desc.c文件里已经参考添加了描述符结构体,问题不知道怎么去修改配置,STM32的USB设备初始化DEVICE_PROP Device_Property = {
MASS_init,
MASS_Reset,
MASS_Status_In,
MASS_Status_Out,
MASS_Data_Setup,
MASS_NoData_Setup,
MASS_Get_Interface_Setting,
MASS_GetDeviceDescriptor,
MASS_GetConfigDescriptor,
MASS_GetStringDescriptor,
0,
0x40 /*MAX PACKET SIZE*/
};
|
最佳答案
查看完整内容[请看2#楼]
具体过程就是 ,找了HUB板,Bushound抓取了枚举的整个过程,然后参考过程自己在STM32上修改了USB驱动。将STM32枚举成一个HUB。 一步一步的去按照Hub板枚举的过程去修改。其实我这样只是让主机把我当做一个Hub。具体功能还要自己继续实现。现在卡在在枚举了Hub之后去枚举Hub下的usb设备了,还在研究中
|