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

关于STM32的USBHID类设备

[复制链接]
海迹天涯 提问时间:2018-1-25 09:15 /
最近开发一款新产品使用的stm32f302,产品的原版本使用的nxp的芯片,USBHID协议为低速设备USB1.1协议,在调试USB的时候发现USB只支持USB2.0的高速设备。原来的设备插上USB线后可以用bushound软件抓取到枚举的报告描述符数据,再stm32的USBhid协议中移植了相同的报告描述符,插上usb后也能识别到这个usb设备,但是bushound软件抓不到任何数据,上位机软件也不能与下位机通信,有大神给点思路吗?
R_0V}3RDDM4DXWGWFJNU}[3.png
收藏 评论12 发布时间:2018-1-25 09:15

举报

12个回答
海迹天涯 回答时间:2018-1-25 09:18:05
设备管理器看到的信息
G]P@GX~R)Q`N@U74}U0AFBR.png
斜阳 回答时间:2018-1-25 09:29:23
打开cubeMX的源,里边有很多例子可以看看路径类似于下面这样:
STM32Cube\Repository\STM32Cube_FW_F4_V1.17.0\Projects\STM324x9I_EVAL\Applications\USB_Device

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

七哥 回答时间:2018-1-25 12:16:05
本帖最后由 toofree 于 2018-1-25 12:23 编辑

描述符在你插上USB口,还没开启捕捉时已经完成了,你抓不到的。或者插上USB口后,开启捕捉,硬件复位一个MCU,然后看有没有数据抓到。再或者用bushound发送软复位命令下来,这个得看你的设备支不支持软复位命令。
USB是低速、全速、高速,是靠D+、D-数据线上的1.5K上下拉电阻来决定的。
不过也得硬件支持才行,F302是全速USB,一般只支持全速,高速和低速都不支持。
傲游截图20180125122304.jpg

或者换软件USBlyzer。
傲游截图20180125121525.jpg


评分

参与人数 1蝴蝶豆 +5 收起 理由
zero99 + 5

查看全部评分

海迹天涯 回答时间:2018-1-25 17:05:52
toofree 发表于 2018-1-25 12:16
描述符在你插上USB口,还没开启捕捉时已经完成了,你抓不到的。或者插上USB口后,开启捕捉,硬件复位一个MC ...

感谢如此细心的回复
七哥 回答时间:2018-1-25 17:36:12
海迹天涯 发表于 2018-1-25 17:05
感谢如此细心的回复

这只是层窗户纸,帮你捅破。
接下来,USB正常通信得好好整。
海迹天涯 回答时间:2018-1-26 09:47:18
0x06,0xa0,0xff,
  0x09,0xa2,
  0xa1,0x01,
  0x09,0xa3,
  0xa1,0x03,
  0x06,0xa1,0xff,
  0x09,0xc1,
  0x09,0xc2,
  0x09,0xc3,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xda,
  0x09,0xc4,
  0x15,0x00,
  0x25,0xff,
  0x35,0x00,
  0x45,0xff,
  0x75,0x08,
  0x95,0x20,
  0xb1,0x02,
  0xc0,0xc0
海迹天涯 回答时间:2018-1-26 09:47:41
toofree 发表于 2018-1-25 17:36
这只是层窗户纸,帮你捅破。
接下来,USB正常通信得好好整。

可以帮我解释一下这个报告描述符吗
七哥 回答时间:2018-1-26 10:14:51
本帖最后由 toofree 于 2018-1-26 10:40 编辑
海迹天涯 发表于 2018-1-26 09:47
可以帮我解释一下这个报告描述符吗

可以插上USB,直接用USBlyzer看一下。也可用HID Descriptor tool工具看,但你的文件格式不对,看不了,必须配合USBlyzer中的数据,重新生成hid文件。 傲游截图20180126103922.jpg

傲游截图20180126103833.jpg

dt2_4.zip (99.24 KB, 下载次数: 13)
nyszx 回答时间:2018-1-26 13:51:42
学习了,还没搞过USB应用
海迹天涯 回答时间:2018-1-26 15:51:57
toofree 发表于 2018-1-26 10:14
可以插上USB,直接用USBlyzer看一下。也可用HID Descriptor tool工具看,但你的文件格式不对,看不了,必 ...

在usagepage文档中有很大定义的设备我知道如何解释,但是里面有一些未定义的usagepage我不知道如何分析,比如图片上这个,  0x06,0xa0,0xff, 自定义页  0x09,0xa2,  这个什么意思呢,这个A2可以随便改写吗?
  0x09,0xda,这个da又如何解释呢?望大神赐教。
{GUW]GL%$HC0N}12}@EYFAN.png
cloudmr 回答时间:2018-3-23 10:47:43
cloudmr 回答时间:2018-3-23 10:49:08
金币不够,无法下载
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版