void SerialPort_Result(object sender, SerialPortEvents e) { this.Invoke(new MethodInvoker(() => { //处理结果 //rtbResult.Text += Encoding.GetEncoding("GB2312").GetString(e.BufferData); })); }
void SerialPort_Send(object sender, SerialPortEvents e) { this.Invoke(new MethodInvoker(() => { long sendCount = Convert.ToInt64(lbSendCount.Text); if (e.BufferData != null) { sendCount += e.BufferData.Length; } lbSendCount.Text = sendCount.ToString(); })); }
void XJPLC_SerialPort_Received(object sender, SerialPortEvents e) { if (e.BufferData != null) { m_buffer.AddRange(e.BufferData); if ( m_buffer.Count > 3 && m_buffer[0] == CmdNewPack.header && m_buffer[m_buffer.Count - 1] == CmdNewPack.tail[1] && m_buffer[m_buffer.Count - 2] == CmdNewPack.tail[0] ) { //返回命令统一都是0X01开头 如果不是则移除 DataProcessEventArgs.Byte_buffer = m_buffer.ToArray(); EventDataProcess(this, DataProcessEventArgs); e.BufferData = null; m_buffer.Clear(); } } }
/// <summary> /// 串口接收数据处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void SerialPort_Received(object sender, SerialPortEvents e) { this.Invoke(new MethodInvoker(() => { long receivedCount = Convert.ToInt64(lbReceivedCount.Text); if (e.BufferData != null) { receivedCount += e.BufferData.Length; } lbReceivedCount.Text = receivedCount.ToString(); Console.Write("Data:"); foreach (byte b in e.BufferData) { Console.Write($"{b.ToString("x2")} "); } Console.WriteLine(); InsCopy(e.BufferData, e.BufferData.Length); Console.WriteLine($"ins_struct.ins_length = {ins_struct.ins_length}"); })); }