【问题标题】:Reading from usb as a comport从 USB 读取作为一个端口
【发布时间】:2013-04-17 07:19:12
【问题描述】:

我是嵌入式世界的初学者,因为作为一名软件工程师,我总是处于“线的另一端”,所以请不要因为一个看似愚蠢的问题而把我钉在十字架上。

当我使用连接到计算机的蓝牙设备时,它通常显示为虚拟 COM 端口,我使用 winapi 连接并读取数据。现在我们的嵌入式工程师向我展示了一个设备,该设备通过 USB 电缆发送相同的数据,该设备在我的系统中也显示为虚拟端口,我读取的数据相同(这意味着,对我来说它是完全透明的)。

现在我想知道,在使用 USB 连接的任何其他设备中,我不认为该设备是一个comport(如鼠标或键盘),但信息已发送。为什么在这种情况下需要一个 comport,还有哪些其他可用的阅读选项?

【问题讨论】:

  • windows,我用的是winapi。这不重要吗?
  • 对不起,我错过了那个词。

标签: c bluetooth serial-port usb


【解决方案1】:

你应该阅读一些basic USB information

您注意到的差异是因为 USB 支持称为 "device classes" 的东西,它基本上控制计算机(主机)如何查看设备。

一个这样的类是"USB communications device",例如,它经常成为一个虚拟 COM 端口。

另一个是非常常见的"USB mass storage device",例如使用闪存驱动器。

第三个是您提到的鼠标和键盘,称为"USB human interface device"

当特定设备首次连接到总线时,它使用哪个类进行通信,以便主机可以加载正确的驱动程序。您不能神奇地强制设备切换类,类通常是设备实现的“硬”(不可修改)部分,由设备的设计者选择。

【讨论】:

  • 感谢您的回答,我只是想确保在不再需要创建虚拟端口时我没有做错什么。也感谢您的编辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-07
  • 2011-04-21
相关资源
最近更新 更多