OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6146|回复: 4

用STM32F103ZET6写的USB HID设备与计算机通信程序,可以接收数据,但发送有问题,请教一下大家

[复制链接]

8

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2014-11-1
在线时间
0 小时
发表于 2014-11-1 16:51:46 | 显示全部楼层 |阅读模式
5金钱
USB枚举过程是成功了的,计算机设备管理器中看到的设备:


用PortHelper调试USB如下:


点击发送后,STM32接收到数据并且从串口返回接收到的数据如下:


我的STM32 USB通信程序中,当端点1接收到一次数据后就每隔一段时间通过端点2发送数据(内容是:哦艾斯黛拉),然后从串口返回的数据发现STM32每隔一段时间端点2都会产生IN中断,但是PortHelper软件并没有接收到数据,然后我用Bus Hound抓取USB包,首先抓取的是HID-compliant device设备,如下图:


然后用PortHelper USb调试器与STM32通信,Bus Hound只抓取到了OUT数据包,如下:


从端点2发送到计算机IN的数据包没有,但是STM32 USB每隔一段时间产生了IN中断,也就是说STM32发送了数据给电脑,但PortHelper中端点2没有收到数据,接着我有用Bus Hound抓取“USB输入设备”的数据,如下图:


PortHelper与STM32进行USB通信,Bus Hound抓取到的数据包如下:


从抓取到的数据包看到“USB输入设备”收到的STM32发来的数据,图中圈出来的就是“哦艾斯黛拉”的十六进制数据,我想问的是为什们“HID-compliant device”收不到IN数据?而“USB输入设备”可以?(USB的各种描述符是直接从一个STM USB HID例程复制过来的,那个例程HID-compliant device”和“USB输入设备”都可以收到STM32从端点2发送上来的数据。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165538
金钱
165538
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-1 21:19:36 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2020-4-22
在线时间
4 小时
发表于 2020-5-26 17:19:12 | 显示全部楼层
请问一下   我程序下载了  枚举不成功要这么改呀
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2020-5-29
在线时间
9 小时
发表于 2020-6-22 17:09:21 | 显示全部楼层
同设备描述符请求失败,一个感叹号需要怎么改
回复

使用道具 举报

6

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2019-9-25
在线时间
25 小时
发表于 2020-8-7 14:35:05 | 显示全部楼层
楼主解决没??我现在也遇到同样问题了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-15 14:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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