110,537
社区成员
发帖
与我相关
我的任务
分享
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int n = serialPort1.BytesToRead;
byte[] buf = new byte[n];
received_count += n;
serialPort1.Read(buf, 0, n);
builder.Clear();
this.Invoke((EventHandler)(delegate
{
foreach (byte b in buf)
{
builder.Append(b.ToString("X2") + " ");
}
this.textBox3.AppendText(builder.ToString());
string[] maxvalue = textBox3.Text.Split(new string[1] { "A " }, System.StringSplitOptions.None);//子字符串分割字符串
for (int i = 0; i < maxvalue.Length; i++ )
{
textBox1.AppendText(maxvalue[i] );
}
if (textBox1.Text.Length > 21)
{
aa = textBox1.Text.Substring(9, 11).Replace(" ", "");//截取收到内容的数据部分
bb = Convert.ToInt32(aa, 16);//转换16进制为10进制
if (0 <bb && bb < 10000)
{
textBox4.AppendText(bb.ToString() + "\r\n");
//textBox1.Text += dd + "\r\n";//文本框显示10进制数据
series.Points.AddXY(0,bb);
}
}
textBox3.Clear();
textBox1.Clear();
}));