private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{ string rshuju ; rshuju=this.serialPort1.ReadLine();
this.richTextBox1.Text += rshuju;
if (this.richTextBox1.Text.Length > 100000000)
{
this.richTextBox1.Clear();
}
}
rshuju=this.serialPort1.ReadLine();这一句有什么问题吗?
{ string rshuju ; rshuju=this.serialPort1.ReadLine();
this.richTextBox1.Text += rshuju;
if (this.richTextBox1.Text.Length > 100000000)
{
this.richTextBox1.Clear();
}
}
rshuju=this.serialPort1.ReadLine();这一句有什么问题吗?
rshuju=this.serialPort1.ReadLine();这一句有什么问题吗?
}而不是这样:
}
}
rshuju=this.serialPort1.ReadLine();这一句有什么问题吗?你的代码不懂,帮你up,虽然没分。
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{ string rshuju ; rshuju=this.serialPort1.ReadLine();
this.richTextBox1.Text += rshuju;
if (this.richTextBox1.Text.Length > 100000000)
{
this.richTextBox1.Clear();
}
}
我接收不到数据,问你是不是这句rshuju=this.serialPort1.ReadLine()有什么问题?程序执行到这句就出错了,什么原因?
this.serialPort1.ReadTimeout = 1000;
在你的rshuju = this.seriaoPort1.ReadLine()之前可能是数据没过来,然后你可以catch(TimeoutExecption)看看,是否是超时的原因。
IOException这种异常,现在不懂该如何处理,谢谢,再帮我看看
{
byte[] buffer = new byte[this.serialPort1.BytesToRead];
if (this.serialPort1.BytesToRead > 0)
{
this.serialPort1.Read(buffer, 0, buffer.Length); if (this.checkBox2.Checked)
{
string txt = chshex.hextostr(buffer);
print(txt);
receive = txt.Length+ receive;
this.toolStripStatusLabel4.Text = receive.ToString();
}
if (!this.checkBox2.Checked)
{ string txt = ConvertByteArrayToString(buffer);
print(txt);
receive = txt.Length * 2 + receive;
this.toolStripStatusLabel4.Text = receive.ToString();
}
}
}
catch (Exception exp)
{
MessageBox.Show(exp.ToString());
}