STM32/STM8技术论坛
直播中

陈磊

8年用户 141经验值
私信 关注
[问答]

实现组合设备除了修改描述符还需要修改什么

研究组合设备,对描述符倒是摸索的差不多,我将VID和PID改成cp210x串口的,在Windows和linux下分别进行测试,没法进行进行使用和通信。。。另如果需要实现CDC和MS,描述符没问题,原协议栈中定义了CDC类设备,而是不是要与CDC类注册函数同步,同时注册和初始化MS类组件函数呢?
故想问下,要实现组合设备,除了修改描述符,还需要修改哪些呢?求思路点拨


回帖(6)

陈磊

2019-1-15 08:13:42
有人帮忙看看吗
举报

陈磊

2019-1-15 08:30:01
坐等高人啊
举报

杨文英

2019-1-15 08:47:10
如果是 CDC+MSC 组合,你要用的是 IAD 描述符。如果是多个 CDC 可以用一个 control 对应多个 data。我有一个 IAD 做 CDC+HID 组合的代码。
举报

陈磊

2019-1-15 08:57:01
引用: wang222221 发表于 2019-1-15 14:31
如果是 CDC+MSC 组合,你要用的是 IAD 描述符。如果是多个 CDC 可以用一个 control 对应多个 data。我有一个 IAD 做 CDC+HID 组合的代码。

CDC+Mass Storage的组合设备要用IAD是肯定的,但要不要同时都注册和初始化device的cdc class和mass storage class呢?
举报

陈磊

2019-1-15 09:05:29
引用: wang222221 发表于 2019-1-15 14:31
如果是 CDC+MSC 组合,你要用的是 IAD 描述符。如果是多个 CDC 可以用一个 control 对应多个 data。我有一个 IAD 做 CDC+HID 组合的代码。

CDC+Mass Storage的组合设备要用IAD是肯定的,那在初始化的时候是不是需要同时初始化device的CDC class和Mass Storage class两种类设备呢?
多个cdc,你的意思是一个通信类接口对应几个数据类接口???
你的那个cdc+hid组合设备的代码是完整的吗?
举报

杨文英

2019-1-15 09:10:40
引用: peternie 发表于 2019-1-15 14:50
CDC+Mass Storage的组合设备要用IAD是肯定的,那在初始化的时候是不是需要同时初始化device的CDC class和Mass Storage class两种类设备呢?
多个cdc,你的意思是一个通信类接口对应几个数据类接口???
你的那个cdc+hid组合设备的代码是完整的吗? ...

1 初始化的时候你需要把所有设备都初始化好。
2 是的
3 USB 部分完整,可以枚举,可以识别。上层通信协议还没完成,电脑端的软件还不能用。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分