2017-04-25 223 views
-1

晚上好,我的项目是创建一个桌面应用程序。这个应用程序将允许我通过USB端口从PC与stm32微控制器进行通信。 为了发送和接收消息,我被告知将微控制器的USB配置为USB虚拟COM端口。但我真的不知道这个配置背后的目的是什么。我的问题是: 1-USB,USB虚拟串口和USB串口有什么区别? 2 - 为什么使用VCP很有用,USB虚拟COM端口与USB相比有哪些优缺点?与USB相比,USB虚拟COM端口有哪些优缺点?

+0

请按照下面的帖子。 http://stackoverflow.com/a/27942559/1263525 – Shaibal

+0

我不是在寻找理论上的概念,而是使用虚拟COM端口进行stm和pc之间的通信的实用工具。 – oumaima

回答

1

如您所想,USB中没有“串口”。 USB堆栈有不同的类别,如海量存储类(MSC),音频,通信等用于不同的目的。您无法直接使用USB堆栈,而无需根据您的使用情况进行配置。对于串行通信枚举,您必须将USB设备配置为通信类别并用作VCP。请参阅this以获取所有类别的列表。您还可以将您的设备配置为HID以指示某些事件(如键盘或鼠标)。