发 帖  
原厂入驻New
[问答] stm32 usb hid设备能发数据给PC,但不能接收PC的数据
942 STM32 USB while
分享
移植的STM32 hid设备只能在while(1)中发送数据给PC后,PC的上位机bushound才能发送数据给下位机。
如果hid设备不发数据给PC,则bushound发送数据时会报错“invalid command”, bushound看不到数据发下去。
请问这个是什么原因导致的?
0
2018-12-10 08:42:34   评论 分享淘帖 邀请回答

相关问题

15个回答
请先确定,上位机发送的命令有没有错误。
2018-12-10 08:51:23 评论

举报

应该是USB的配置有错吧。设备描述符不对的话,发送的地址可能有错。
2018-12-10 09:02:59 评论

举报

2018-12-10 09:13:35 评论

举报

2018-12-10 09:25:57 评论

举报

本帖最后由 1035036848 于 2017-3-8 09:34 编辑

我认为把描述符代码贴一下出来比较好。。。
2018-12-10 09:43:51 评论

举报

我也是有这个问题,我的解决方法是在while中一直发送空数据,这样就保证了stm32和PC的连接状态,然后就正常了,我觉得这样的解决方法不是很好,但是我没有法相更好的方法去解决这个问题
2018-12-10 09:57:08 评论

举报

检查:
设备描述符是否正确,
USB的输出端点是否配置好。
2018-12-10 10:05:32 评论

举报

应该是描述符配置问题
2018-12-10 10:10:55 评论

举报

你是用中断传输还是用控制传输的
2018-12-10 10:31:57 评论

举报

遇到了同样的问题,把这个顶上去,是不是ST HAL官方库有问题?检查下去,有一个EpXfer的EP的方向始终为1。解决此问题的请找我要红包,QQ175966115
2018-12-10 10:44:43 评论

举报

楼主能否发下USB HID的描述符,让大家检查看下。我这边用STM32CubeMX 写了一个自定义HID,收发都是正常的,所以HAL和STM32CubeMX 都应该是没问题的,可能是代码中哪里没有配置好。如果要生成HID设备描述符可以用HID Descriptor Tool 工具,这个工具可以帮你检查描述符是否正确。
2018-12-10 10:49:48 评论

举报

汗!用BusHound通信时,打开PortHelper.exe一直检测着这个USB设备,BusHound就能自由的通信了。
虽然不知道什么原因,但同事做的PC端软件工作时,能自由读写,就先这样了。
2018-12-10 10:55:30 评论

举报

预言者J 发表于 2018-12-10 10:00
楼主能否发下USB HID的描述符,让大家检查看下。我这边用STM32CubeMX 写了一个自定义HID,收发都是正常的,所以HAL和STM32CubeMX 都应该是没问题的,可能是代码中哪里没有配置好。如果要生成HID设备描述符可以用HID Descriptor Tool 工具,这个工具可以帮你检查描述符是否正确。 ...

我这边也是用cubemx写的自定义HID,发送没有问题,接受不行,研究好久了实在找不到出问题的点了
2018-12-10 11:07:28 评论

举报

提交一下程序 帮你看看
2019-2-17 11:06:55 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

我要提问
关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表