使用USB CDC时,USB_CDC.h具有以下配置默认值:
#定义CDC_USB_CLASS 2 // 2:通信设备类
#定义cdc_usb_subclass 0x00 //
#定义cdc_usb_protocol 0x00 //
但是,它们不使用,当嗅探USB连接时,器件描述符包如下所示:12 01 00 02 02 02 00 08 CF 2D 02 60 00 01 01 02 03 01转换为:
12长
01设备描述符
00 BCDUSB.
02 BCDUSB.
02 bdeviceclass.
02 bdevicsubclass.
00 BDEviceProtocol.
......
据此给出0x02的子类,这不是一个有效的价值https://www.usb.org/defining-class-codes.两个子类和协议只能设置为0x00。
有没有办法设置子类字段?
关键词:
设备:
嗨jpeteren,
谢谢你的问题。让我检查一下,我会尽快回复你。可能我需要在内部升级它。
谢谢,PM_DIALOG.
我可以看到我已经阅读了规格错误,子类0x02是一个有效的值“抽象控制模型”和0x00是“保留”。
但是对于我正在努力的项目,我仍然需要改变它,所以我想改变我的问题:“有可能改变子类值吗?”
嗨jpeteren,
请参阅Emusb-Device手册(UM09001)和第9.1节。在这里,您会找到您的问题的答案。
https://www.segger.com/downloads/emusb-device/um09001
谢谢,PM_DIALOG.