2015-03-16 4 views
0

Я отправляю текст по последовательному порту на C#. Этот текст содержит \ r, и он станет новой строкой в ​​HyperTerminal. Теперь я хочу прочитать this \ r в C#. Как я могу это сделать?
Чтение r, отправленное последовательным портом в C#?

private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) 
    { 
     RxString = serialPort1.ReadLine(); 

     this.Invoke(new EventHandler(DisplayText)); 
    } 

    private void DisplayText(object sender, EventArgs e) 
    { 
     string str = RxString; 

     if(str == "\r") 
     { 
      MessageBox.Show("This is a new line"); 
     } 
    } 
+0

Вы * только * нужно использовать '\ r' в качестве разделителя строк? Если это так, просто установите свойство 'NewLine'. –

+0

Нет, я могу использовать \ n \ r тоже. Но \ отлично работает. – UserMat

+0

Я использовал if (str == Enviroment.newline), но он не работает. – UserMat

ответ

1

Если вы используете ReadLine() он прочтет к вылету линии, это может быть \ г \ п или \ г \ п, так с помощью команды ReadLine() вы автоматически обнаруживать ваш возврат каретки и его удаления из строки чтения

https://msdn.microsoft.com/en-us/library/system.io.streamreader.readline%28v=vs.110%29.aspx

, если по какой-то причине вам нужно сохранить возврат каретки, то вы можете использовать команду Read()

https://msdn.microsoft.com/en-us/library/ath1fht8%28v=vs.110%29.aspx

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