日期:2014-05-17  浏览次数:21098 次

如何判断串口链接正常 C#
有个设备通过USB和电脑相连,串口号是COM3。。如果使用过程中设备被拔出就不能正常使用了。。现在我想判断下设备是否正常连接 。。如果正常,则什么也不做。。如果不正常,则要对设别进行重新连接。
C# code

string port = string.Format("{0}",MessageModem.Properties.Settings.Default.Com_Port_new);
            string a = "COM" + port;
            SerialPort p = new SerialPort("COM" + port);
            try
            {
                p.Open();
                p.Close();
                label6.Text = "链接异常";
                //重连操作。
                
            }
            catch
            { label6.Text = "连接正常"; }



这样为什么不行啊?

------解决方案--------------------
一般我都是给串口发数据,收到正确回应才判断串口正常,否则就是有问题.
还有你这个try里是不是判断反了?
try
{
p.Open();
label6.Text = "正常";
}
catch

label6.Text = "异常"; 
}
if (label6.Text == "正常")
p.Close();

...

------解决方案--------------------
用p.IsOpen属性判断是否已打开