private void BTN_Send_Click_1(object sender, EventArgs e) { string TxData = null; byte[] ASCIIbyte = null; string HEXstr = null; switch (CB_TxEncode.Text) { case "ASCII": if (TB_TxMessage.Text.IndexOf("\\n") != -1) { if (TB_TxMessage.Text.IndexOf("\\\\n") != -1) TxData = TB_TxMessage.Text; else { ASCIIbyte = Encoding.ASCII.GetBytes(TB_TxMessage.Text); // ASCII(Strinng) -> ASCII(byte) HEXstr = BitConverter.ToString(ASCIIbyte); // ASCII(byte) -> HEX(string) TxData = ConvertHex((HEXstr.Replace("-", "")).Replace("5C6E", "0A")); // HEX(string)replace -> ASCII(string); 5C: \; 6E:n ;0A:LF } } else TxData = TB_TxMessage.Text; break; case "HEX": TxData = ConvertHex(TB_TxMessage.Text.Replace("-", "")); break; case "BIN": break; case "STM32 Instruction": break; default: break; } COMPort.Write(TxData); // Auto NewLine if (CH_TxAutoNewLine.Checked) TB_TxMessageHistory.Text += TxData + "\r\n"; else TB_TxMessageHistory.Text += TxData; // Auto Scroll to end TB_TxMessageHistory.SelectionStart = TB_TxMessageHistory.Text.Length; TB_TxMessageHistory.ScrollToCaret(); // Count Tx-Data Bytes TxtotalLength += Encoding.ASCII.GetBytes(TxData).Length; LAB_TxNum.Text = "Tx: " + TxtotalLength.ToString() + " Bytes"; }