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

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里面处理的时候限制时间了” 思路吗??先谢谢了
 
swordroo 回答时间:2015-1-8 18:25:30

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

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版