微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获得有关Windows中的串行COM端口的特定信息?

由于我有几十个虚拟串行(COM)端口安装,其中一半是蓝牙设备,我想知道哪个端口属于哪个设备,以及它是直接连接还是通过蓝牙连接。

所以特别是对所有串口的简单枚举不感兴趣,它只会显示一个“COM”的列表+对应的编号,但是这个设备的真实名字,可能是它的设备ID(可以find信息关于是否通过USB或蓝牙连接。

虽然我可以通过WMI获取这些信息,但是这个方法还是有很多问题的。 特别是它血腥的慢,但它也只列出连接的设备(除了蓝牙设备,可能被连接,并显示无论真正的连接)

我更喜欢使用Delphi / Object Pascal编写的解决scheme,但其他任何语言对我来说都很好(WMI访问代码是从C#复制的)。

标记和空间奇偶校验的串行通信

通过蓝牙/ RFCOMM / SPP发送二进制数据将0x0A转换为0x0D 0x0A

RS232控制台通信 – 设置波特率为1 MBaud

我想从COM端口连续接收数据,同时要写入文件

在FT232RL上使用libftdi后,恢复虚拟Com端口

Windows 7中的串行端口输出缓冲区大小

读取串口块不明原因

如何在Windows中获得COM端口的友好名称

串行通信(RS232)在LINUX中

COM端口拦截修改Linux上的数据

如果您使用可以读取注册表的编程语言/ API,请检查子树HKEY_LOCAL_MACHInesYstemCurrentControlSetEnum 。

这具有包含设备类型,设备类别,实例ID的子密钥。 每个实例ID都有一个具有COM名称的子Device ParametersPortName名称

例如,在我的系统上

ACPIPNP05011Device ParametersPortName = COM1 BTHENUM{GUID}{ID}Device ParametersPortName = COM4

例如,ID部分中的密钥有附加信息

ACPIPNP05011FriendlyName = Kommunikationsanschluss (COM1) (german windows) ACPIPNP05011Service = Serial BTHENUM{GUID}{ID}Service = BTHMODEM

使用regedit检查你自己的哪些部分是有趣的。 但是,这应该给你所有你需要的信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐