} // 結束ComportListToComboBox方法 /// <summary> /// UARTConnectHandle方法 /// UARTConnectHandle方法用於處理UartComport連線設定 /// 呼叫格式為UARTConnectHandle(comport名稱) /// /// </summary> /// <param name="comport_name"></param> public void UARTConnectHandle(string comport_name) // 串列埠連線處理UARTConnectHandle方法 { // 進入UARTConnectHandle方法 DebugVariables.Set_UARTConnectHandle_Runtimes(); // 呼叫Set_UARTConnectHandle_Runtimes方法遞增UARTConnectHandle_Runtimes變數 if (UARTConnection1.GetUartComportConnected() == true) // 若UartComportConnected為True,代表UartComport連線中,將執行中斷連線 { // 進入if敘述 label6.Text = (comport_name + "正在中斷連線"); // 顯示連線狀態為(comport_name + "正在中斷連線"),如"COM1正在中斷連線" UARTConnection1.SetUartComportConnected(false); // 更新UartComportConnected UARTConnection1.UartComport.Close(); // 關閉UartComport連線 button2.Text = "連線"; // 更改button2文字為"連線" button2.Enabled = true; // 重新開啟"連線/中斷連線"按鈕功能 label6.Text = "未連線"; // 顯示連線狀態為"未連線" return; // 結束UARTConnectHandle方法 } // 結束if敘述 else // 若UartComportConnected為False,執行連線 { // 進入else敘述 label6.Text = "偵測連接埠設定"; // 顯示連線狀態為"偵測連接埠設定" if (comport_name == "") // 若comport_name為空白(Combobox1未選定) { // 進入if敘述 ErrorCodeMessage.Error_Message_Show((int)ErrorCodeMessage.ErrorCodeEncoding.NoSerialPortSelected); // 顯示錯誤訊息 button2.Enabled = true; // 重新開啟"連線/中斷連線"按鈕功能 return; // 結束UARTConnectHandle方法 } // 結束if敘述 else // 已選定連接埠 { // 進入else敘述 label6.Text = (comport_name + "正在嘗試連線"); // 顯示連線狀態為(comport_name + "正在嘗試連線"),如"COM1正在嘗試連線" try // 嘗試以comport_name建立串列通訊連線 { // 進入try敘述 UARTConnection1.UartComport = new SerialPort(comport_name); // UartComport串列埠建立comport_name連線 } // 結束try敘述 catch (System.IO.IOException) // 當IO發生錯誤時的例外狀況 { // 進入catch敘述 ErrorCodeMessage.Error_Message_Show((int)ErrorCodeMessage.ErrorCodeEncoding.SerialPortConnectError); // 顯示錯誤訊息 button2.Enabled = true; // 重新開啟"連線/中斷連線"按鈕功能 return; // 結束UARTConnectHandle方法 } // 結束catch敘述 try // 以try方式執行資料接收 { // 進入try敘述 if (!UARTConnection1.UartComport.IsOpen) // 若UartComport未開啟 { // 進入if敘述 UARTConnection1.UartComport.Open(); // 開啟UartComport label6.Text = (comport_name + "已連線"); // 顯示連線狀態為(comport_name + "已連線"),如"COM1已連線" UARTConnection1.SetUartComportConnected(true); // 更新UartComportConnected狀態 button2.Text = "中斷連線"; // 更改button2文字為"中斷連線" button2.Enabled = true; // 重新開啟"連線/中斷連線"按鈕功能 } // 結束if敘述 UARTConnection1.UartComport.DataReceived += new SerialDataReceivedEventHandler(comport_DataReceived); // 處理資料接收 } // 結束try敘述 catch (Exception ex) // 若發生錯誤狀況 { // 進入catch敘述 var result = MessageBox.Show // 顯示錯誤訊息 ( // 進入錯誤訊息MessageBox設定 ex.ToString(), "DataReceived Error", // 顯示錯誤訊息ex.ToString(),標題為"DataReceived Error" MessageBoxButtons.OK, // MessageBox選項為OK MessageBoxIcon.Error // 顯示錯誤標誌 ); // 結束錯誤訊息MessageBox設定 UARTConnection1.UartComport.Close(); // 關閉UartComport連線 button2.Text = "連線"; // 更改button2文字為"連線" button2.Enabled = true; // 重新開啟"連線/中斷連線"按鈕功能 return; // 結束UARTConnectHandle方法 } // 結束catch敘述 } // 結束else敘述 } // 結束else敘述 } // 結束UARTConnectHandle方法