如何解决USB复合设备:如何让两个虚拟串口独立?
我们有一个嵌入式设备 (STM32),它通过一个独特的 USB 连接到 PC。 USB 连接提供两个虚拟串行端口。 设备描述为:
0xEF,/*bDeviceClass*/
0x02,/*bDeviceSubClass*/
0x01,/*bDeviceProtocol*/
和接口描述是
0x02,/* bFunctionClass: CDC */
0x02,/* bFunctionSubClass */
0x01,/* bFunctionProtocol */
在 Windows 上测试,我们可以通过两个虚拟串口发送和接收数据。 然而,限制是必须打开两个虚拟串口才能进行数据传输工作。这意味着我们需要每个虚拟串行端口一个 Docklight(或 Putty)会话,以便数据从嵌入式设备流向 PC。
一旦 Docklight(或 Putty)的一个会话关闭,另一个会话上将不再有数据流动。代码仍在运行,但嵌入式设备没有任何内容。
在这种情况下,在非常低的级别上,USB中断状态寄存器(USB_ISTR)的CTR始终为0,因此不会执行从嵌入式设备发送数据的代码。
有谁知道如何让这两个虚拟串口独立?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。