你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

双重CDC组合设备问题

[复制链接]
wylew 提问时间:2018-3-13 22:25 /
做过USB组合设备的能帮忙看看吗?
注册两个CDC类设备,但第二个串口无法工作,第一个CDC用的端点1和2,第二个CDC用的端点3和4无法工作。。。


1.png
2.png
收藏 1 评论3 发布时间:2018-3-13 22:25

举报

3个回答
maxtch 回答时间:2018-3-14 07:37:21
你有加 IAD 吗?另外,双重 CDC 是不需要两组控制端口的,一个控制端口两组数据端口就可以了。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

wylew 回答时间:2018-3-14 08:30:04
本帖最后由 wylew 于 2018-3-14 08:35 编辑
maxtch 发表于 2018-3-14 07:37
你有加 IAD 吗?另外,双重 CDC 是不需要两组控制端口的,一个控制端口两组数据端口就可以了。 ...

/* Configuration 1 descriptor */
    0x09,
    0x02,
    0x8D, 0x00,        //8D , 63
    0x04,                 //bNumInterfaces
    0x01,
    0x00,
    0x80,
    0x32,

#if 1        //cdc1, 66 bytes
    /* Interface association descriptor. */
    0x08, 0x0b,
    0x00,                 //bFirstInterface
    0x02, 0x02, 0x02, 0x00, 0x00,

    /* Communication Class Interface Descriptor Requirement */
    0x09, 0x04,
    0x00,                 //bInterfaceNumber
    0x00,
    0x01,                 //bNumEndpoints
    0x02, 0x02, 0x01,
    0x00,

    /* Header Functional Descriptor */
    0x05, 0x24, 0x00, 0x10, 0x01,

    /* ACM Functional Descriptor */
    0x04, 0x24, 0x02, 0x0f,

    /* Union Functional Descriptor */
    0x05, 0x24, 0x06, 0x00, 0x01,

    /* Call Management Functional Descriptor */
    0x05, 0x24, 0x01, 0x03, 0x01,

    /* Endpoint 1 descriptor */
    0x07, 0x05,
    0x86,                //EndpointID = 6 , IN
    0x03,
    0x08, 0x00, 0x0B,

    /* Data Class Interface Descriptor Requirement */
    0x09, 0x04,
    0x01,                 //bInterfaceNumber
    0x00,
    0x02,                 //bNumEndpoints
    0x0A, 0x00, 0x00,
    0x00,

    /* First alternate setting Endpoint 1 descriptor */
    0x07, 0x05,
    0x01,                //EndpointID = 1, OUT
    0x02,
    0x00, 0x02, 0x00,

    /* Endpoint 2 descriptor */
    0x07, 0x05,
    0x82,                //EndpointID = 2, IN
    0x02,
    0x00, 0x02, 0x00,
#endif
/*************************************************************************************/
#if 2        //cdc2, 66 bytes
    /* Interface association descriptor. */
    0x08, 0x0b,
    0x02,                 //bFirstInterface
    0x02, 0x02, 0x02, 0x00, 0x00,

    /* Communication Class Interface Descriptor Requirement */
    0x09, 0x04,
    0x02,                 //bInterfaceNumber
    0x00,
    0x01,                 //bNumEndpoints
    0x02, 0x02, 0x01,
    0x00,

    /* Header Functional Descriptor */
    0x05, 0x24, 0x00, 0x10, 0x01,

    /* ACM Functional Descriptor */
    0x04, 0x24, 0x02, 0x0f,

    /* Union Functional Descriptor */
    0x05, 0x24, 0x06, 0x00, 0x01,

    /* Call Management Functional Descriptor */
    0x05, 0x24, 0x01, 0x03, 0x01,

    /* Endpoint 1 descriptor */
    0x07, 0x05,
    0x88,                //EndpointID = 8
    0x03,
    0x08, 0x00, 0x0B,

    /* Data Class Interface Descriptor Requirement */
    0x09, 0x04,
    0x03,                 //bInterfaceNumber
    0x00,
    0x02,                 //bNumEndpoints
    0x0A, 0x00, 0x00,
    0x00,

    /* Endpoint 3 descriptor */
    0x07, 0x05,
    0x03,                //EndpointID = 3, OUT
    0x02,
    0x00, 0x02, 0x00,

    /* Endpoint 4 descriptor */
    0x07, 0x05,
    0x84,                //EndpointID = 4, IN
    0x02,
    0x00, 0x02, 0x00,
#endif
你说的不需要两组控制端口是指在一个控制接口下搭两个数据类接口吗?不过在网上看大家实现的都是控制接口和数据接口一一对应的

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版