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

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

[复制链接]
sz189981 提问时间:2016-12-19 18:26 /
悬赏5ST金币未解决
移植的stm32 hid设备只能在while(1)中发送数据给PC后,PC的上位机bushound才能发送数据给下位机。
如果hid设备不发数据给PC,则bushound发送数据时会报错“invalid command”, bushound看不到数据发下去。
请问这个是什么原因导致的?


收藏 3 评论14 发布时间:2016-12-19 18:26

举报

14个回答
无薪税绵 回答时间:2017-3-8 08:23:18
请先确定,上位机发送的命令有没有错误。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

小小超 回答时间:2017-3-8 08:39:08
应该是USB的配置有错吧。设备描述符不对的话,发送的地址可能有错。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

yb0121 回答时间:2017-3-8 09:00:56
在例程中改吧
cldym 回答时间:2017-3-8 09:08:25
在例程中改吧
1035036848 回答时间:2017-3-8 09:10:42
本帖最后由 1035036848 于 2017-3-8 09:34 编辑

我认为把描述符代码贴一下出来比较好。。。
tanr 回答时间:2017-3-8 09:20:50
我也是有这个问题,我的解决方法是在while中一直发送空数据,这样就保证了stm32和PC的连接状态,然后就正常了,我觉得这样的解决方法不是很好,但是我没有法相更好的方法去解决这个问题

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

Dylan疾风闪电 回答时间:2017-3-8 10:55:16
检查:
设备描述符是否正确,
USB的输出端点是否配置好。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

中山无雪 回答时间:2017-3-8 18:30:07
应该是描述符配置问题

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

回答时间:2017-3-10 15:56:46
zwmasdf 回答时间:2017-3-10 21:30:35
你是用中断传输还是用控制传输的
fengye1966 回答时间:2017-3-28 11:38:55
遇到了同样的问题,把这个顶上去,是不是ST HAL官方库有问题?检查下去,有一个EpXfer的EP的方向始终为1。解决此问题的请找我要红包,QQ175966115
群星闪烁 回答时间:2017-3-29 16:44:28
楼主能否发下USB HID的描述符,让大家检查看下。我这边用STM32CubeMX 写了一个自定义HID,收发都是正常的,所以HAL和STM32CubeMX 都应该是没问题的,可能是代码中哪里没有配置好。如果要生成HID设备描述符可以用HID Descriptor Tool 工具,这个工具可以帮你检查描述符是否正确。
sz189981 回答时间:2017-7-27 16:18:47
汗!用BusHound通信时,打开PortHelper.exe一直检测着这个USB设备,BusHound就能自由的通信了。
虽然不知道什么原因,但同事做的PC端软件工作时,能自由读写,就先这样了。
小小向日葵 回答时间:2017-9-29 18:08:58
15616384352 发表于 2017-3-29 16:44
楼主能否发下USB HID的描述符,让大家检查看下。我这边用STM32CubeMX 写了一个自定义HID,收发都是正常的, ...

我这边也是用cubemx写的自定义HID,发送没有问题,接受不行,研究好久了实在找不到出问题的点了

所属标签

相似问题

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