问题描述: 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; } 按注释中的修改后可以读出之前不能读的扫描枪的数据,而之前正常的扫描枪的数据又读不出了!! 求大神们帮着分析一下,谢谢! |
Your UAT Feedback is needed within today.
STM32_USB_Device_Library
用STM32F4 Cube MX生成的USB Device C代码的BUG
STM32F446 USB和串口1 冲突
STM32f407ZG使用STM32CubeMX创建USB应用失败
请教stm32F105 USB开发资料去哪里下载
STM32F103VE-USB-VCOM发不出数据
STM32cubemx 配置出的 USB HID 电脑无法识别
[STM32L496] 求助USBCDC通信,PC端总是需要插拔USB线问题
STM32F USB DFU下载无法识别USB设备
RE:ST USB host 驱动HID扫描枪有问题
回复:ST USB host 驱动HID扫描枪有问题
USB里面处理的时候限制时间了,建议你准备的usb分析仪吧。
朋友,你好,我现在终于买到USB分析仪了,您能具体说一下 “USB里面处理的时候限制时间了” 思路吗??先谢谢了
过去了快一年, 你终于买到了USB分析仪了 ...