你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ST USB host 驱动HID扫描枪有问题

[复制链接]
神马不是坑爹 提问时间:2013-11-5 19:09 /
  问题描述:
USB host驱动 HID 扫描枪,插入扫描枪时枚举已经完成,进入 USBH_HID_Handle() 状态机内,一直在 HID_GET_DATA 状态和 HID_POLL 状态之间跳转。
扫描枪扫描数据时,有些扫描扫描枪的数据能够读到,而有扫描枪的数据读不到。

跟踪进入 USBH_InterruptReceiveData()函数
USBH_Status USBH_InterruptReceiveData( USB_OTG_CORE_HANDLE *pdev, 
                                uint8_t *buff, 
                                uint8_t length,
                                uint8_t hc_num)
{

  pdev->host.hc[hc_num].ep_is_in = 1;  
  pdev->host.hc[hc_num].xfer_buff = buff;
  pdev->host.hc[hc_num].xfer_len = length;
  


  if(pdev->host.hc[hc_num].toggle_in == 0)
  {
    pdev->host.hc[hc_num].data_pid = HC_PID_DATA0;//HC_PID_DATA0 /改成 HC_PID_DATA1,
  }
  else
  {
    pdev->host.hc[hc_num].data_pid = HC_PID_DATA1;//同时 HC_PID_DATA1 /改成 HC_PID_DATA0,就可以接收异常的数据,但原来的枪又不能用了
  }
   /* toggle DATA PID */
  pdev->host.hc[hc_num].toggle_in ^= 1;  
  
  HCD_SubmitRequest (pdev , hc_num);  
  
  return USBH_OK;
}
按注释中的修改后可以读出之前不能读的扫描枪的数据,而之前正常的扫描枪的数据又读不出了!!
求大神们帮着分析一下,谢谢!
收藏 评论5 发布时间:2013-11-5 19:09

举报

5个回答
dzc2001 回答时间:2013-11-30 17:40:20

RE:ST USB host 驱动HID扫描枪有问题

USB里面处理的时候限制时间了,建议你准备的usb分析仪吧。
神马不是坑爹 回答时间:2014-10-11 12:04:26

回复:ST USB host 驱动HID扫描枪有问题

回复第 2 楼 于2013-11-30 17:40:20发表:
USB里面处理的时候限制时间了,建议你准备的usb分析仪吧。
 
朋友,你好,我现在终于买到USB分析仪了,您能具体说一下 “USB里面处理的时候限制时间了” 思路吗??先谢谢了
 
lujf000 回答时间:2015-1-8 18:25:30

过去了快一年, 你终于买到了USB分析仪了 ...
1746286272 回答时间:2016-11-10 23:16:53
楼主,这个问题解决了嘛?我遇到了一个问题是:键盘识别正常,usb2.0的扫码枪也正常,但是有好多款扫码枪枚举完了,一直不能读数据。您可以提供下例程嘛?
奏奏奏 回答时间:2016-11-25 09:38:56
扫描枪直接选用串口接口的,在中断里处理接收到的字符串

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版