首先已经编写完了上位机接收数据的程序也实现了在textbox控件中实时显示但是传上来的数据是一组xy坐标值我想如何可以在两个textbox控件中分别显示xy也就是把一组数据分开。因为后面还要利用xy值作图。目前我只能把xy一组数据放在一个textbox控件中达到实时更新数据或者使用Split、正则表达式对数据进行分割只能显示第一组分割后的数据但无法实时更新数据。
代码如下: private void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
byte[] ReceivedData = new byte[sp.BytesToRead];//创建接收字节数组
sp.Read(ReceivedData, 0, ReceivedData.Length);//读取所接收到的数据
receivedDatas.AddRange(ReceivedData);
textBox3.Text = (Convert.ToInt32(textBox3.Text) + ReceivedData.Length).ToString();
if (checkBox2.Checked)
{
textBox1.Text = Class1.ByteTo16Str(receivedDatas.ToArray());
}
else
{
textBox1.Text = Encoding.Default.GetString(receivedDatas.ToArray());
//让文本框获取焦点
string a = Encoding.Default.GetString(receivedDatas.ToArray());
**string[] sArray = a.Split(',');
//这里是进行分割数据,去掉这部分直接把a赋值给textbox就会实时显示但是在一个框里显示xy一组数据而不是一个数据x或者y
textBox15.Text = sArray[0]; textBox16.Text = sArray[1];**
this.textBox15.Focus();
//设置光标的位置到文本尾
this.textBox15.Select(this.textBox1.TextLength, 0);
//滚动到控件光标处
this.textBox15.ScrollToCaret();
this.textBox1.Focus();
//设置光标的位置到文本尾
this.textBox1.Select(this.textBox1.TextLength, 0);
//滚动到控件光标处
this.textBox1.ScrollToCaret();
}
// sp.DiscardInBuffer();//丢弃接收缓冲区数据