从串行端口(RS-232)获取输入
本文关键字:获取 输入 RS-232 串行端口 | 更新日期: 2023-09-27 18:26:08
im正在编写一个从串行端口读取输入的程序。它确实收到了一些东西,但它毫无理由地断线了。
正确的输入
这个右输入应该是
Sending...Sending...Sending...Sending...Sending...
不换线。
实际输入
Sending...
Se
ndin
g...
S
endi
ng..
.
Send
ing.
..
Se
ndin
g...
代码
public void Serial ()
{
try
{
SerialPort serial = new SerialPort(this.comboBox1.Text);
serial.BaudRate = 9600;
serial.Parity = Parity.None;
serial.StopBits = StopBits.One;
serial.DataBits = 8;
serial.Handshake = Handshake.None;
serial.DataReceived += new SerialDataReceivedEventHandler(SerialDataReceivedHandler);
serial.Open();
}
catch
{
}
}
public void SerialDataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string dataIn = sp.ReadExisting();
if (log_time == true)
{
this.richTextBox1.AppendText(time + dataIn);
}
else
{
this.richTextBox1.AppendText(dataIn + "'n");
}
}
this.combobox1.Text
工作正常,我正在使用try,因为如果没有,如果串行端口不打开,程序就会崩溃!
Im正在用Serial();
初始化另一个空位上的串行
如何获得正确的输入?
在else子句中,不应将"''n"附加到this.richTextBox1。这是一个新行的特殊字符。如果您想要正确的输入,需要类似this.richTextBox1.AppendText(dataIn + "...");
的东西