This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28069:USB 虚拟 COM 端口-进入 VCP 模式后、F28069U 上的多个 USB 连接和断开问题

Guru**** 2033340 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1377508/tms320f28069-usb-virtual-com-port---issue-with-multiple-usb-connection-and-disconnection-on-f28069u-once-in-vcp-mode

器件型号:TMS320F28069

工具与软件:

大家好!

我们在 F28069U/F/M 上使用 USB 作为我们产品的核心、我们基本上是创建受"usb_dev_serial"示例启发的虚拟 COM 端口、一般而言、应用运行良好、然而在市场上几年后、我们意识到对于客户来说、由于各种原因、能够多次连接和断开端口非常重要、 然而,我们发现偶尔 USB 不能再连接,例如在3-5次尝试连接后,发送一些数据包,断开连接,突然下一个连接不起作用。

我的问题如下:

  1. 如何了解主机是否"真正"断开连接? 我看到一个称为 bConnected 的变量、即使我从 PC 侧断开 COM 端口、该变量也保持为1、只有我完全断开 USB 的线缆、它才会恢复为0
  2. 如何为下一次连接安全恢复 USB? 我们应该查看和更改什么寄存器?
  3. 如何在固件中安全地断开和连接 COM 端口? (当我调用 CDCTerminate 功能时、PC 上的 COM 端口保持不变、即使我禁用 USB 时钟、我仍然可以看到 COM 端口保持不变)

谢谢

John