2014-10-23 3 views
1

В моем коде я отправить Resume и Left, но по какой-то причине текст делится так:последовательный порт разделить данные

[COM6] Pause 

[COM6] Re 
[COM6] sume 
[COM6] 

[COM6] Le 
[COM6] ft 

вот мой код

var mySerialPort = new SerialPort 
       { 
        BaudRate = int.Parse(nsComboBox1.Items[nsComboBox1.SelectedIndex].ToString()), 
        PortName = nsComboBox2.Items[nsComboBox2.SelectedIndex].ToString(), 
        ReadTimeout = 500, 
        ReadBufferSize = 1024, 
        Parity = Parity.Space, 
        StopBits = StopBits.One 
       }; 
       mySerialPort.Open(); 
       mySerialPort.DataReceived += 
        (o, args) => 
        { 
         string s = mySerialPort.ReadExisting(); 
         textBox1.Invoke(
          new MethodInvoker(() => textBox1.Text += string.Format("[{0}] {1}", mySerialPort.PortName, 
           s) + Environment.NewLine)); 
//removed the rest for being irrelevant 
        }; 

Я думаю, что это из-за моего но как я могу избежать разделения текста?

ответ

1

попробуйте использовать mySerialPort.ReadLine(); он будет считываться до нового значения строки

Смежные вопросы