我寫了一個應用程序,它將數據發送到COM端口並接收返回的數據。從串口收到的數據有不正確的換行符
發送作品很棒,但接收沒有。多行和只讀文本框中的新行字符不正確。
截圖:
我對接收的代碼是:
void serialPort_DataReceived(object s, SerialDataReceivedEventArgs e)
{
byte[] data = new byte[_serialPort.BytesToRead];
_serialPort.Read(data, 0, data.Length);
string str = System.Text.Encoding.UTF8.GetString(data);
textBox3.Text = textBox3.Text + str;
textBox3.SelectionStart = textBox3.TextLength;
textBox3.ScrollToCaret();
}
並打開端口之前我設置新線屬性\ r \ n爲
_serialPort.NewLine = "\r\n";
如何解決這個問題?
這種方法可能出現的問題是,由於數據通過COM口進來的,很可能來自另一臺可能使用或不使用相同環境的計算機(或者甚至是相同的操作系統)。 – Kevin