stm32 usb hid设备能发数据给PC,但不能接收PC的数据

2019-07-14 15:22发布

移植的STM32 hid设备只能在while(1)中发送数据给PC后,PC的上位机bushound才能发送数据给下位机。
如果hid设备不发数据给PC,则bushound发送数据时会报错“invalid command”, bushound看不到数据发下去。
请问这个是什么原因导致的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
zhe0010
1楼-- · 2019-07-15 09:28
应该是描述符配置问题
jenny042
2楼-- · 2019-07-15 15:10
UserMen
3楼-- · 2019-07-15 16:22
 精彩回答 2  元偷偷看……
qq97594051
4楼-- · 2019-07-15 20:36
遇到了同样的问题,把这个顶上去,是不是ST HAL官方库有问题?检查下去,有一个EpXfer的EP的方向始终为1。解决此问题的请找我要红包,QQ175966115
预言者J
5楼-- · 2019-07-15 20:43
楼主能否发下USB HID的描述符,让大家检查看下。我这边用STM32CubeMX 写了一个自定义HID,收发都是正常的,所以HAL和STM32CubeMX 都应该是没问题的,可能是代码中哪里没有配置好。如果要生成HID设备描述符可以用HID Descriptor Tool 工具,这个工具可以帮你检查描述符是否正确。
ke3978
6楼-- · 2019-07-15 22:19
汗!用BusHound通信时,打开PortHelper.exe一直检测着这个USB设备,BusHound就能自由的通信了。
虽然不知道什么原因,但同事做的PC端软件工作时,能自由读写,就先这样了。

一周热门 更多>