您好我正在创建一个串行数据记录器
只需创建一个文本框,然后在唯一的文本框中进行通信和接收。
以下是使用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;
}
}
}
}
如何实施像Teraterm这样的终端?
当在TextBox中输入数据时收到输入数据时,我实施的版本将被截断。
在输入cat 123时> txt.txt ..............
Cat 123> ...串行数据恢复... Txt.txt
如果发生这种情况,输入将为txt.txt。 每按一次键,当我在单独的缓冲区中保持输入值时,是否只有一种方法可以冲洗我按下Enter键的时刻?