我最近一直在使用 SerialPort 类。目前我正在尝试找出检查设备是否连接到我的应用程序使用的通信端口的正确方法。是否有任何正确的方法来检查设备是否连接到通信端口?我目前的方法如下:
while (isReading == true)
{
try
{
received += serialPort.ReadExisting();
if (received.Contains('>'))
isReading = false;
}
catch (Exception e)
{
}
if (tick == 10000)
if (received == "")
{
Console.WriteLine("No Data Received. Device isn't connected.");
isReading = false;
}
tick++;
}
Console.WriteLine(received);
它有效,但我觉得它有点老套和不可靠。如果需要,我可以保留它,但如果有适当的替代方法,我会喜欢它。
编辑:我实际上必须将刻度值设置为大约 10,000 以确保它是可靠的。否则我有时无法接收数据。即使将其设置为 1000 或 5000 也不可靠。即使这样,也不能保证在多台机器上可靠。