串口通信中的C#winform GUI,如果我按回车键,那么我想显示Shell提示符

时间:2017-08-28 05:58:54

标签: c# winforms serialization terminal

串口通信中的C#winform GUI,如果我按回车键,那么我想显示Shell提示符

您好我正在创建一个串行数据记录器

只需创建一个文本框,然后在唯一的文本框中进行通信和接收。

以下是使用teraterm的情况

.... Serial Logs .....
Device: / $

Device: / $ ls ===> press ls command!!!!

A b c

Device: / $


!!!! caret is located next $ ___
=> Device: /$_

如何在上方实施?

我的DataRecived功能是:

Private void DataReceived (object sender, SerialDataReceivedEventArgs e)
{
    If (serialPort.IsOpen)
    {
        String str = serialPort.ReadLine ();

        Str = str.Trim (). Replace ("\ r \ n", "");

        TbResultBox.AppendText (str + "\ r \ n");
        TbResultBox.ScrollToCaret ();
    }
}

如果我在框中输入后按回车键,则会调用以下功能。

Private void tbResultBox_KeyDown (object sender, KeyEventArgs e)
{
    If (e.KeyCode == Keys.Enter)
    {
        Int maxLines = tbResultBox.Lines.Length;
        If (maxLines> 0)
        {
            String lastLine = tbResultBox.Lines [maxLines - 1];
            If (String.IsNullOrEmpty (lastLine))
                Return;

            Try
            {
                SerialPort.WriteLine (lastLine);
                TbSend.Text = "";
            }
            Catch (Exception ex)
            {
                TbSend.Text = ex.Message;
            }
        }
    }
}
  1. 如何实施像Teraterm这样的终端?

  2. 当在TextBox中输入数据时收到输入数据时,我实施的版本将被截断。

  3. 在输入cat 123时> txt.txt ..............

    Cat 123> ...串行数据恢复... Txt.txt

    如果发生这种情况,输入将为txt.txt。 每按一次键,当我在单独的缓冲区中保持输入值时,是否只有一种方法可以冲洗我按下Enter键的时刻?

0 个答案:

没有答案