emc_ytm 发表于 2017-9-7 18:11:22

STM32F105 HOST HID 通信问题

   近来要使用USB 通信,由于通信量不大,约为每0.2SEC 一次20字节,所以选择使用使用HID, 主/从机都是使用STM32F105,当前从机可以正常发数据到PC 端,每1SEC 发一组数据,使用USBlyzer 可以看到数据正常发送到PC端。 要处理主机时碰到了问题,   
   使用HAL 库直接生成的代码。主机的枚举通过,   可是没法接收到从机定时发过来的数据,



定时2SEC调用 USBH_HID_SetReport   这一个来发送数据 reportType = 2 ,但是也没有反应


           USBH_HID_SetReport (phost,2,0x80,buff,15);

请问一下,如何解决这一个问题呢?



emc_ytm 发表于 2017-9-8 12:22:06

:):)
自己顶。。

emc_ytm 发表于 2017-9-9 09:12:32

:) 有没有人了解的呢?

emc_ytm 发表于 2017-9-11 13:53:04

:):)版主呢???

emc_ytm 发表于 2017-9-13 19:37:21

:):):):)

mscs13179 发表于 2017-9-19 09:43:00

可以看看我的这个http://www.cnblogs.com/libra13179/p/7373217.html

emc_ytm 发表于 2017-10-5 18:59:18

本帖最后由 emc_ytm 于 2017-10-6 10:27 编辑

还是没有解决
现在键盘一按下就会产生复位,也就是STM32F105 会产生一个断线中断,又要重新枚举。
有一个键盘void USBH_HID_EventCallback(USBH_HandleTypeDef *phost) 这一个都没有运行到就复位了,
有二个键盘就是可以到void USBH_HID_EventCallback(USBH_HandleTypeDef *phost),收到按键值,
   然后就会产生一个/* Handle Disconnection event Interrupt */ 的中断。
      然后就会一直是断线状态,
同样,有测到按键值的,下面的这一个发送报告会一直卡住不再发送出去了,   一直发送不返回OK了。
reportBuff = 0X02;
                  do
                  {
                        status = USBH_HID_SetReport (phost,2,0,reportBuff,1);
                  }
                  while(status !=USBH_OK);


我当前使用的是库是HAL   F1.6.0的,
      请问一下是什么原因呢?

无薪税绵 发表于 2017-12-27 12:52:06

不懂,只能帮楼主加人气了。

哈佛祖安智 发表于 2017-12-27 20:19:50

官网有hid joystick的demo,可以参考下

jianfeii-333228 发表于 2018-1-22 10:28:58

楼主已经解决这个问题了么,我觉得可能是枚举出问题了。
页: [1] 2
查看完整版本: STM32F105 HOST HID 通信问题