日期:2014-05-18  浏览次数:22525 次

c#如何判断串口是否断开,并自动在重新插上后自动重连
串口初始化并开始接收后,可能会因为外界缘故而物理断开,然后在人工插回去
如何判断串口的状态,并在串口接回去后自动重连
注:使用serialport类


------解决方案--------------------
SerialPort 只负责读串口数据,什么状态不状态与他没关系。
单独开一个线程或者用定时器来扫描状态。
具体你可以参考这里的http://topic.csdn.net/u/20100703/09/48276575-d004-4eaf-951d-0f1927f30bae.html,是VC写的东西。
------解决方案--------------------
定义个事件循环找一下
int i = 1;
comboBox5.Items.Clear();
for (i = 1; i < 20; i++)
{
serialPort1.PortName = "com" + i.ToString();
try
{
serialPort1.Open();
}
catch
{
continue;
}
if (serialPort1.IsOpen)
{
comboBox5.Items.Add("com" + i.ToString());
}
serialPort1.Close();
}