我试图检测是否有任何设备连接到串口!当我打开一个串口时,即使没有物理连接到端口的设备也没有异常。我的猜测是端口可能被软件占用,但我怎么能检测到它呢?
答案 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());
}