(求助)串口 winform 调用目标发生异常
sp.DataBits = Form2.DataBits;
sp.PortName = Form2.PortName;
if (Form2.StopBits == "1")
{
sp.StopBits = StopBits.One;
}
if (Form2.StopBits == "1.5")
{
sp.StopBits = StopBits.OnePointFive;
}
if (Form2.StopBits == "2")
{
sp.StopBits = StopBits.Two;
}
int[] BaudRate = new int[6];
BaudRate[0] = 4800;
BaudRate[1] = 9600;
BaudRate[2] = 38400;
BaudRate[3] = 57600;
BaudRate[4] = 19200;
BaudRate[5] = 115200;
for (int i = 0; i < 6; i++)
{
sp.BaudRate = BaudRate[i];
for (int n = 0; n < 3; n++)
{
if (n == 0)
{
sp.Parity = Parity.None;
}
if (n == 1)
{
sp.Parity = Parity.Even;
}
if (n == 2)
{
sp.Parity = Parity.Odd;
}
try
{
sp.Open();
toolStripButton1.Text = "串口关闭";
sp.Write("@#R00000000<");
char[] buffer = new char[9];
Thread.Sleep(1000);
sp.Read(buffer, 0, buffer.Length);
if (buffer[0] == 'W')
{
string xs = sp.PortName + "," + BaudRate[i].ToString() + "," + sp.Parity.ToString() + "," + sp.DataBits + "," + sp.StopBits;
toolStripStatusLabel3.Text = xs;
MessageBox.Show("检测到电台");
qd = buffer;
return;
}
}
catch
{
sp.Close();
}
}
}
MessageBox.Show("未检测到电台");----在这里出现"调用目标发生异常"的信息
toolStripButton1.Text = "串口打开";
return;
}
这个问题相当怪,有时出错,有时不会的