哈喽,哈喽
亲爱的朋友们,过来啦
我现在接受了一串数字,但是我想做一个判断,就是当S= {0x02,0x30,0x30,0x46,0x46,0x30,0x03}时,TEXT上显示,马达正在原点中,这应该如何写代码呢?
1 string B01 = "马达正在原点中"; 2 //string B02 = ""; 3 /* byte[] data = Convert.FromBase64String(serialPort1.ReadLine()); 4 textBox1.Text = Encoding.Unicode.GetString(data);*/ 5 serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived); 6 string s = ""; 7 int count = serialPort1.BytesToRead; 8 byte[] data = new byte[count]; 9 serialPort1.Read(data, 0, count); 10 foreach (byte item in data) 11 { 12 13 s += Convert.ToString(item); 14 //B02 += Convert.ToString(item); 15 16 } 17 18 this.Invoke(new MethodInvoker(delegate { this.textBox1.Text = s; })); 19
byte[] flag = {0x02,0x30,0x30,0x46,0x46,0x30,0x03};
byte[] data = Encoding.ASCII.GetBytes(s);
if (data ==flag)
{
textBox1.Text ="马达正在原点中";
}
也可以这样:
string flagStr = Encoding.ASCII.GetString(flag);
//包含
if (s.Contains(flagStr))
{
}
//完全等于
if (s.Equals(flagStr))
{
}
呀,你终于来了,好久你都没看我的博问了呢?
是不是最近工作台忙了呀?
@绿绿山水:还忙,而且火车票还没抢到。
@数据酷软件: 坐高铁,别坐火车,坐火车真的好辛苦的。