由于我有几十个虚拟串行(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中
如果您使用可以读取注册表的编程语言/ 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] 举报,一经查实,本站将立刻删除。