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

2019-07-14 14:34发布

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


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
peternie
1楼-- · 2019-07-14 21:16
坐等高人啊
wang222221
2楼-- · 2019-07-15 02:59
如果是 CDC+MSC 组合,你要用的是 IAD 描述符。如果是多个 CDC 可以用一个 control 对应多个 data。我有一个 IAD 做 CDC+HID 组合的代码。
peternie
3楼-- · 2019-07-15 05:35
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呢?
peternie
4楼-- · 2019-07-15 06:32
 精彩回答 2  元偷偷看……
wang222221
5楼-- · 2019-07-15 07:32
peternie 发表于 2019-1-15 14:50
CDC+Mass Storage的组合设备要用IAD是肯定的,那在初始化的时候是不是需要同时初始化device的CDC class和Mass Storage class两种类设备呢?
多个cdc,你的意思是一个通信类接口对应几个数据类接口???
你的那个cdc+hid组合设备的代码是完整的吗? ...

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

一周热门 更多>