STM32F105 USB HOST枚举hub问题

[复制链接]
6460|15
 楼主| chdrobin 发表于 2013-9-20 16:08 | 显示全部楼层 |阅读模式
用STM32F105同时操作USB鼠标+键盘。已经成功枚举了HUB,但是在切换到低速后,读取USB鼠标设备描述符时,只接收到8位,读取hctsiz寄存器,只有1个包数目。若不通过hub单独枚举鼠标,可以获取完18位设备描述符。望高人指教
 楼主| chdrobin 发表于 2013-9-22 10:29 | 显示全部楼层
没人回答,经过2天琢磨,终于搞掂了!!!
feilusia 发表于 2013-9-22 10:31 | 显示全部楼层
这块我没做过,LZ共享下问题所在吧。
 楼主| chdrobin 发表于 2013-9-22 11:07 | 显示全部楼层
feilusia 发表于 2013-9-22 10:31
这块我没做过,LZ共享下问题所在吧。

因为低速设备包长是8字节,调用USBH_Modify_Channel函数 修改mps为8字节,speed为2(lowspeed)。
pmrplc 发表于 2013-10-3 23:15 | 显示全部楼层
能不能说一下具体的实现过程,或者共享代码呢
幻界绮梦 发表于 2014-3-29 18:46 | 显示全部楼层
求分享代码?
谁有的话,可发我邮箱:sushijian350@qq.com
我可以考虑购买
putron09 发表于 2014-5-21 10:34 | 显示全部楼层
顶,这个鼠标加键盘通过HUB给到105非常好
putron09 发表于 2014-5-22 14:59 | 显示全部楼层
freeman9507 发表于 2014-6-22 17:06 | 显示全部楼层
哥们给个信息,咨询USB相关问题,我的qq:13188123,谢谢呀!!!
学电子的小菜鸟 发表于 2015-11-25 16:16 | 显示全部楼层
亲,我看105官方的HID例程,找不到枚举的过程的代码,求指点
louisignal 发表于 2015-11-27 21:43 | 显示全部楼层
学电子的小菜鸟 发表于 2015-11-25 16:16
亲,我看105官方的HID例程,找不到枚举的过程的代码,求指点

void USBH_Process(USB_OTG_CORE_HANDLE *pdev , USBH_HOST *phost)函数里面有这一段就是枚举:
case HOST_ENUMERATION:     
    /* Check for enumeration status */  
    if ( USBH_HandleEnum(pdev , phost) == USBH_OK)
    {
      /* The function shall return USBH_OK when full enumeration is complete */
      
      /* user callback for end of device basic enumeration */
      phost->usr_cb->EnumerationDone();
      bEnumDone = SET;

      phost->gState  = HOST_USR_INPUT;   
    }
    break;
louisignal 发表于 2015-11-27 21:46 | 显示全部楼层
官方DEMO里有这一段,修改管道的MPS的:改速度的自己想就知道了
if ( USBH_Get_DevDesc(pdev , phost, 8) == USBH_OK)
    {
      phost->Control.ep0size = phost->device_prop.Dev_Desc.bMaxPacketSize;
      /* Issue Reset  */
      HCD_ResetPort(pdev);
      phost->EnumState = ENUM_GET_FULL_DEV_DESC;
      
      /* modify control channels configuration for MaxPacket size */
      USBH_Modify_Channel (pdev,
                           phost->Control.hc_num_out,
                           0,
                           0,
                           0,
                           phost->Control.ep0size);
      
      USBH_Modify_Channel (pdev,
                           phost->Control.hc_num_in,
                           0,
                           0,
                           0,
                           phost->Control.ep0size);      
    }
小小强112 发表于 2016-6-1 18:21 | 显示全部楼层
版主 能分享下代码吗
大家学学
tianyingkeji 发表于 2017-9-2 22:32 | 显示全部楼层
能否共享,QQ1187470326
huhaomcu 发表于 2019-2-18 10:38 | 显示全部楼层
请问楼主,为什么我的USB设备插到PC上后,提示设备无法启动,但是设备属性里相关的USB信息已经全部获得了,这是枚举不成功还是什么其他原因啊!!麻烦指导下
antoniofay 发表于 2020-4-9 09:03 | 显示全部楼层
本帖最后由 antoniofay 于 2020-4-11 15:52 编辑

你好,请问有做出来么
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部