} // 結束UARTConnectHandle方法 private void comport_DataReceived(object sender, SerialDataReceivedEventArgs e) // comport資料接收處理方法 { // 進入comport資料接收處理方法 DebugVariables.Set_comport_DataReceived_Runtimes(); // 呼叫Set_comport_DataReceived_Runtimes方法記錄comport_DataReceived執行次數 if (UARTConnection1.GetUartComportConnected() == false) // 若UartComport未連線(UartComportConnected值為False) { // 進入if敘述 return; // 結束comport資料接收處理方法 } // 結束if敘述 byte[] buffer = new byte[1024]; // 宣告buffer暫存讀取資料,型態為Byte int length = 0; // 宣告length變數用於記錄串列資料緩衝區長度 try // 以try語法嘗試讀取Uart串列資料緩衝區 { // 進入try敘述 length = (sender as System.IO.Ports.SerialPort).Read(buffer, 0, buffer.Length); // 讀取Uart串列資料緩衝區 } // 結束try敘述 catch (ArgumentNullException) // 當發生NULL例外狀況 { // 進入catch敘述 return; // 結束comport_DataReceived方法 } // 結束catch敘述 Uart_Buffer_Size = length; // 更新Uart_Buffer_Size數值 try // 嘗試調整buffer陣列大小 { // 進入try敘述 Array.Resize(ref buffer, length); // 調整buffer陣列大小 } // 結束try敘述 catch (ArgumentOutOfRangeException outOfRange) // 若調整buffer陣列空間時範圍錯誤 { // 進入catch敘述 var result = MessageBox.Show // 顯示錯誤訊息 ( // 進入錯誤訊息MessageBox設定 outOfRange.Message, "", MessageBoxButtons.OK, // MessageBox選項為OK MessageBoxIcon.Error // 顯示錯誤標誌 ); // 結束錯誤訊息MessageBox設定 } // 結束catch敘述 Display d = new Display(DisplayText); try // 以try執行invoke { // 進入try敘述 Invoke(d, new object[] { buffer }); } // 結束try敘述 catch (Exception) // 若發生例外狀況 { // 進入catch敘述 MessageBox.Show(e.ToString()); // 顯示錯誤訊息 return; // 跳出方法 } // 結束catch敘述 string message = BitConverter.ToString(buffer, 0); // 取得Uart傳輸之Buffer資料(ASCII編碼值) Uart_Buffer_ASCII_Data = message; // 將Uart傳輸之Buffer資料(ASCII編碼值)填入Uart_Buffer_ASCII_Data } // 結束comport資料接收處理方法
private void arduino_DataReceived(object sender, SerialDataReceivedEventArgs e) { int missingInstructions = int.Parse(e.ToString()); for (int i = 0; i < missingInstructions; i++) { if (InstructionList.Any()) { SerialWrite(InstructionList.Dequeue()); headMonitor.NextInstruction(); } else { arduino.Write("!"); } } }
private void M_port_DataReceived(object sender, SerialDataReceivedEventArgs e) { #if DEBUG Console.WriteLine("DataReceived: {0}", e.ToString()); #endif SerialPort port = (SerialPort)sender; try { string line = port.ReadLine().Trim(); if (line != string.Empty && OnReceived != null) { ReceivedEvent(line); } } catch (Exception err) { #if DEBUG Console.WriteLine(err.Message); #endif } }
//_________________________________________________________________________ private void DataReceived(object sender, SerialDataReceivedEventArgs e) { try { lock (oRread) { Thread.Sleep(200); int iBytesToRead = SP.Read(BufRX, 0, BufRX.Length); //if (ErrData ()) return; ShowMess("RX: " + Global.ByteArToStr(BufRX, 0, iBytesToRead)); byte[] btaToSend = EvHandlingRecieve(BufRX, iBytesToRead); if (btaToSend.Length > 0) { SP.Write(btaToSend, 0, btaToSend.Length); } Array.Clear(BufRX, 0, iBytesToRead); } } catch (Exception exc) { ShowMess($"{e.EventType.ToString ()}. {e.ToString ()}:\n{exc.Message}\n{exc.StackTrace}"); } }
protected virtual void OnSerialDataRx(object sender, SerialDataReceivedEventArgs e) { TextTag tTag = null; if (sender == serialmon.MainClass.ports[0]) { tTag = p1Tag; } if (sender == serialmon.MainClass.ports[1]) { tTag = p2Tag; } if (tTag == null) { System.Console.WriteLine("unknown sender"); return; } // if (e.EventType == SerialData.){ System.Console.WriteLine("bla ({0})", e.ToString()); return; // } }
private static void Sp_DataReceived(object sender, SerialDataReceivedEventArgs e) { Console.WriteLine(e.ToString()); }
private void _serialPort2_DataReceived(object sender, SerialDataReceivedEventArgs e) { Debug.WriteLine(e.ToString()); }
/// <summary> /// 串口接收 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void COM_DataReceived(object sender, SerialDataReceivedEventArgs e) { Control.CheckForIllegalCrossThreadCalls = false; //跨线程操作控件 if (COM.IsOpen) { string[] str = new string[5]; try { str[0] = COM.ReadLine(); } catch (System.IO.IOException) { textReceived.AppendText("IOerror!\r\n"); } catch (Exception) { MessageBox.Show(e.ToString()); } if (str[0] == null || str[0].Length == 0) { return; } if (str[0] == "Boot") { COM.WriteLine("Link"); sendTime(); } if (str[0] == "Time") { timerLink.Interval = 2000; sendTime(); } if (str[0] == "Alarm") { timerLink.Interval = 2000; COM.WriteLine(""); COM.WriteLine("Aon"); } if (str[0] == "Lift alarm") { timerLink.Interval = 2000; } if (str[0][0] == 'H') { textReceived.AppendText(str[0] + '\r' + '\n'); str = str[0].Split(','); str[0] = str[0].TrimStart('H'); try { progressBar.Value = int.Parse(str[0]); labelProgressBarValue.Text = progressBar.Value.ToString(); } catch (System.FormatException) { textReceived.AppendText("Format Error!\r\n"); } catch (Exception) { MessageBox.Show(e.ToString()); } if (progressBar.Value > trackBarMax.Value || progressBar.Value < trackBarMin.Value) { Warring = true; } else { Warring = false; } //以下为panel绘图部分 Pen pen = new Pen(Color.Red, 2); Pen clear = new Pen(Color.Blue, 3); Graphics g = panelpicture.CreateGraphics(); pointValue.Y = 100 - progressBar.Value; pointStart.Y = 100; g.DrawLine(Pens.White, pointStart, pointEnd); g.DrawLine(clear, pointStart, pointValue); g.DrawLine(pen, pointStart, pointValue); if (pointStart.X < panelpicture.Width) { pointStart.X++; pointValue.X++; pointEnd.X++; } else { pointStart.X = 0; pointValue.X = 0; pointEnd.X = 0; } } } }
private void OnDataRecieve(object sender, SerialDataReceivedEventArgs e) { OnRecv(new CComArgs(_idNo, e.ToString())); }
public void DataReceivedHandle(object sender, SerialDataReceivedEventArgs e) { SerialPort _sp = (SerialPort)sender; Buffer = _sp.ReadExisting(); if (Buffer.Length > 0) { Console.WriteLine("SerialPort : Data Received \n\t" + Buffer + "\n\tEvent - " + e.ToString()); } if (this.DataReceived != null) { this.DataReceived(sender, e); } }