串口软件占用与硬件占用的区别

时间:2016-12-29 22:46:52

标签: c# serial-port

我试图检测是否有任何设备连接到串口!当我打开一个串口时,即使没有物理连接到端口的设备也没有异常。我的猜测是端口可能被软件占用,但我怎么能检测到它呢?

1 个答案:

答案 0 :(得分:0)

实际上,您不需要任何东西“串行”连接到串口以打开它。每当您插入以相同参数发送数据的内容时,您就会开始接收数据。

您可以使用Hyperterminal或某些串行通信软件来测试此行为。它的工作方式也一样。

通过WMI,您可以查询以了解是否已连接特定硬件:

ManagementObjectSearcher manObjSearch = new ManagementObjectSearcher("Select * from Win32_SerialPort");
ManagementObjectCollection manObjReturn = manObjSearch.Get();

foreach (ManagementObject manObj in manObjReturn)
{
    Console.WriteLine(manObj["DeviceID"].ToString());
    Console.WriteLine(manObj["Name"].ToString());
    Console.WriteLine(manObj["Caption"].ToString());
}