有谁知道如何检查设备是否连接到串口?我需要一种ping功能,以便我可以ping设备并尝试连接到它只有ping成功。例如,如果我没有插入COM电缆,我可以更快地显示连接失败消息。
答案 0 :(得分:4)
与使用Ping查找位于千里之外的服务器是否在线相关的问题并不完全相同。使用串行端口,您只需看看电缆的另一端,您很少需要走几英尺。
也没有像TCP这样的有状态连接。您所能做的就是查看硬件握手信号。 SerialPort.DsrHolding为您提供数据集就绪信号的状态。正确实现的串行设备使用该信号表示它已打开电源。 CtsHolding是一个额外的信号,它表示它已准备好发送数据。在你考虑发送任何东西之前,它们通常必须都打开。
这些握手信号并不总是正确实现。如果串行端口实际上是由蓝牙或USB设备驱动程序模拟,则可能会出现问题。这些天很常见,这些驱动程序模拟真实串行端口的密切程度非常一致。你必须尝试。