当使用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。
有没有办法设置子类字段?
关键词:
设备:
嗨JPetersen,
谢谢你的问题。让我查一下,我会尽快给你答复。也许我需要内部升级。
谢谢,PM_Dialog
我可以看到我读错了规范,子类0x02是一个有效值“抽象控制模型”,0x00是“保留”。
但是对于我正在做的项目,我仍然需要改变它,所以我想把我的问题改为:“有没有可能改变SubClass的值?”
嗨JPetersen,
请参考emusb设备手册(UM09001)和9.1节。在这里你会找到你的问题的答案。
https://www.segger.com/downloads/emusb-device/UM09001
谢谢,PM_Dialog