搜索
bottom↓
回复: 4

USB复合设备(Composite Device)枚举失败

[复制链接]

出0入0汤圆

发表于 2020-10-15 14:18:14 | 显示全部楼层 |阅读模式
最近调试STM32F4的全速USB接口的HID+CDC的复合设备,修改了设备描述符,在枚举时,出现了失败的情况。
从设备管理器上看,USB Composite Device被识别到了,但是为未知设备。
从Logger上看,主机完成Device配置后,设备被挂起了。
从USB时序上看,USB设备在答复主机的配置请求后(00 09 01 00 00 00 00 00),主机再次发送一次SOF后,就无数据了。


现在调试没有什么思路,有没有大神遇到了这种问题,帮忙指导下,谢谢啦。

出0入0汤圆

发表于 2020-10-15 14:30:10 | 显示全部楼层
https://www.taterli.com/2355/
使用STM32CubeMX编写USB复合设备

我是参考这个教程做的,已经成功现在hid键盘+usb串口的复合设备

出40入42汤圆

发表于 2020-10-15 14:47:40 | 显示全部楼层
不建议用全角字符,看起来有些莫名的不爽

出0入442汤圆

发表于 2020-10-15 19:37:49 来自手机 | 显示全部楼层
用bushound查查吧。是不是interface定义错了。我没弄过复合设备,看规范应该是多个interface,然后每个interface绑定1~n个endpoint。

出0入0汤圆

 楼主| 发表于 2020-10-16 08:53:09 | 显示全部楼层
感谢各位。已经解决了,调试下来之前出问题的原因应该是:

1、Win10下,每组接口前面都需要使用IAD描述符。
2、CDC设备,在获取配置描述符后,会使用数据接口获取物理串口的配置信息(波特率等),如果Device未给予回应,主机就会挂起设备(这个感觉就是驱动有关了,调试下来是这样的)。

另外,各位大神有了解win驱动开发的吗?现在USB复合设备在Win10上可以正常枚举通信(win10自带驱动),而win7上,只识别了1路串口,且通信存在问题(只能发出部分数据,后续像死机一样)。
对于虚拟串口的驱动,没有开发的准备,有公版驱动推荐吗?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-8 19:55

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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