我想把收到的数据形式是“A23”或者"B34",并根据A或B分别显示数据,“23”或“34”才是数据位,怎样实现数据是十进制显示并且没只显示数据位。
private void SpCom_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
if (IsReceive || IsClose) return; System.Threading.Thread.Sleep(100);//接收数据时延时时间,可根据数据大小调整值
int len = SpCom.BytesToRead;
if (len < 1) return;//此处可根据数据的大小设置 IsReceive = true; byte[] data = new byte[len];
SpCom.Read(data, 0, len);//从串口读取信息
string temp3 = ConvertByteToHexstr(data);
string temp4 = delspace(temp3);
n = temp4.Length;
textBox1.Invoke(new EventHandler(delegate
{
if (temp4[0] == 'A')
{
textBox1.Text = temp4;
m = textBox2.Text.Length; }
}));
textBox2.Invoke(new EventHandler(delegate
{
if (temp4[0]== 'B')
{
textBox2.Text = temp4;
m = textBox2.Text.Length;
}
}));
}
catch
{ }
finally
{
IsReceive = false;
} }
private void SpCom_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
if (IsReceive || IsClose) return; System.Threading.Thread.Sleep(100);//接收数据时延时时间,可根据数据大小调整值
int len = SpCom.BytesToRead;
if (len < 1) return;//此处可根据数据的大小设置 IsReceive = true; byte[] data = new byte[len];
SpCom.Read(data, 0, len);//从串口读取信息
string temp3 = ConvertByteToHexstr(data);
string temp4 = delspace(temp3);
n = temp4.Length;
textBox1.Invoke(new EventHandler(delegate
{
if (temp4[0] == 'A')
{
textBox1.Text = temp4;
m = textBox2.Text.Length; }
}));
textBox2.Invoke(new EventHandler(delegate
{
if (temp4[0]== 'B')
{
textBox2.Text = temp4;
m = textBox2.Text.Length;
}
}));
}
catch
{ }
finally
{
IsReceive = false;
} }
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货