我是嵌入式世界的初学者,因为我作为一名软件工程师总是处于“电线的另一面”,所以请不要将我钉在十字架上以寻找可能看似愚蠢的问题。
当我使用连接到计算机的蓝牙设备时,它通常显示为虚拟COM端口,我使用winapi连接并读取数据。现在,我们的嵌入式工程师向我展示了一个通过USB电缆发送相同数据的设备,该电缆也在我的系统中呈现为虚拟配件,我读的相同(意思是,对我来说它是完全透明的)。
现在我想知道,在使用USB连接的任何其他设备中,我没有看到设备是一个comport(如鼠标或键盘),但信息是发送的。为什么在这种情况下需要一个comport,还有其他可用的阅读选项?
答案 0 :(得分:2)
您应该阅读一些basic USB information。
您注意到的差异是因为USB支持名为"device classes"的内容,它基本上控制着计算机(主机)查看设备的方式。
其中一个类是"USB communications device",它通常会成为虚拟COM端口。
另一个是常见的"USB mass storage device",例如闪存驱动器使用。
第三个是你提到的鼠标和键盘,称为"USB human interface device"。
特定设备使用的类在首次连接到总线时进行通信,以便主机可以加载正确的驱动程序。您不能神奇地强制设备切换类,该类通常是设备设计人员选择的“硬”(不可修改)部分。