叶帆科技 发表于 2015-4-13 09:50:58

STM32 USB Host鼠标兼容性问题求助


                图1 支持的鼠标                                              图2 不支持的鼠标
在 STM32Cube_FW_F4_V1.5.0\Projects\STM32F429I-Discovery\Applications\USB_Host\HID_Mouse 基础上进行修改(STM32F429I-Discovery开发板也测试过,同样问题)
目前仅发现支持 HP的一款鼠标(HP PC设备配套的)
其他的有线,无线的(大概测试了4种)都不支持

区别在于,支持的鼠标
在如下函数中:static USBH_StatusTypeDef USBH_HID_ClassRequest(USBH_HandleTypeDef *phost)
case HID_REQ_SET_IDLE:
          classReqStatus = USBH_HID_SetIdle (phost, 0, 0); //YFSoft 2015-04-06
          LCD_UsrLog("si%d ",classReqStatus);
       
    /* set Idle */
    if (classReqStatus == USBH_OK)
    {
      HID_Handle->ctl_state = HID_REQ_SET_PROTOCOL;
    }
    else if(classReqStatus == USBH_NOT_SUPPORTED)
    {
      HID_Handle->ctl_state = HID_REQ_SET_PROTOCOL;      
    }
    break;

case HID_REQ_SET_PROTOCOL:
    /* set protocol */
          classReqStatus = USBH_HID_SetProtocol(phost, 0);
                LCD_UsrLog("sp%d ",classReqStatus);

    if (classReqStatus == USBH_OK)
    {
      HID_Handle->ctl_state = HID_REQ_IDLE;      
      /* all requests performed*/
      phost->pUser(phost, HOST_USER_CLASS_ACTIVE);
      status = USBH_OK;
    }
                else if(classReqStatus == USBH_NOT_SUPPORTED)
    {
                        HID_Handle->ctl_state = HID_REQ_IDLE;      
      // all requests performed
      phost->pUser(phost, HOST_USER_CLASS_ACTIVE);
      status = USBH_OK;
                }
    break;


调试信息是我添加的,从图1可以看出 USBH_HID_SetIdle 函数开始状态为忙,几次后就OK了,USBH_HID_SetProtocol也是类似
但是不支持的鼠标,如图2,USBH_HID_SetIdle开始为忙,后续为不支持,USBH_HID_SetProtocol 直接为不支持。


有遇到类似问题的网友没有?








星辰一方 发表于 2015-4-13 09:56:20

好复杂的系统,不懂,帮顶~

咱﹑旳青春 发表于 2015-4-13 11:18:42

为什么还挑鼠标呢? 应该是大多数支持, 少数几款不支持才对呀

发表于 2015-4-13 11:23:08

可能是驱动不兼容的问题,等我先下载200多M的固件。

叶帆科技 发表于 2015-4-13 11:51:23

枚举都是正常的,很奇怪就支持一种。 USBH_HID_SetIdle有帖子说 idle时间设置为100,但是没有用,本身这个命令 底层反馈也是不支持的。

wambob 发表于 2015-4-13 12:00:50

有机玻璃底板?

发表于 2015-4-13 16:05:43

楼主,可以上传一下工程吗?我这找不到这个例程。

数码小叶 发表于 2015-4-13 16:12:32

底版看着不错啊:o:o:o

wu1169668869 发表于 2015-4-13 16:20:14

上个周末在调电阻屏
楼主有什么好方法校准
只要四个角落的值吗

拼命三郎 发表于 2015-4-13 18:33:11

页: [1] 2
查看完整版本: STM32 USB Host鼠标兼容性问题求助