USB CDC设备描述符子类设置错误

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
4个职位/ 0个新职位
最后发表
JPetersen
离线
最后看到:1年6个月前
加入:2020-02-12 15:18
USB CDC设备描述符子类设置错误

当使用USB cdc时,USB_CDC.h有以下配置默认值:

#定义CDC_USB_CLASS 2 // 2:通信设备类

#定义CDC_USB_SUBCLASS 0 x00 / /

#定义CDC_USB_PROTOCOL 0 x00 / /

但是它们没有被使用,当嗅闻usb连接时,设备描述符包看起来像这样:

12个长度

01设备描述符

00 bcdUSB

02 bcdUSB

02 bDeviceClass

02 bDeviceSubClass

00 bDeviceProtocol

...

给出一个0x02的子类,这不是一个有效值,根据https://www.usb.org/defined-class-codes子类和协议都只能设置为0x00。

有没有办法设置子类字段?

关键词:
设备:
PM_Dialog
离线
最后看到:1天1小时前
工作人员
加入:2018-02-08 11:03
嗨JPetersen,

嗨JPetersen,

谢谢你的问题。让我查一下,我会尽快给你答复。也许我需要内部升级。

谢谢,PM_Dialog

JPetersen
离线
最后看到:1年6个月前
加入:2020-02-12 15:18
我知道我读过了

我可以看到我读错了规范,子类0x02是一个有效值“抽象控制模型”,0x00是“保留”。

但是对于我正在做的项目,我仍然需要改变它,所以我想把我的问题改为:“有没有可能改变SubClass的值?”

PM_Dialog
离线
最后看到:1天1小时前
工作人员
加入:2018-02-08 11:03
嗨JPetersen,

嗨JPetersen,

请参考emusb设备手册(UM09001)和9.1节。在这里你会找到你的问题的答案。

https://www.segger.com/downloads/emusb-device/UM09001

谢谢,PM_Dialog