Читайте последовательный порт на С# только при поступлении данных.C#

Место общения программистов C#
Ответить
Anonymous
 Читайте последовательный порт на С# только при поступлении данных.

Сообщение Anonymous »

Я хочу прочитать мой последовательный порт, но только тогда, когда приходят данные (мне не нужен опрос).
Вот как я это делаю.

Код: Выделить всё

Schnittstelle = new SerialPort("COM3");
Schnittstelle.BaudRate = 115200;
Schnittstelle.DataBits = 8;
Schnittstelle.StopBits = StopBits.Two;

// ....
А потом я создаю тему

Код: Выделить всё

beginn = new Thread(readCom);
beginn.Start();
И в моем readCom я постоянно читаю (опрос :( )

Код: Выделить всё

private void readCom()
{
try
{
while (Schnittstelle.IsOpen)
{
Dispatcher.BeginInvoke(new Action(() =>
{
ComWindow.txtbCom.Text = ComWindow.txtbCom.Text + Environment.NewLine + Schnittstelle.ReadExisting();
ComWindow.txtbCom.ScrollToEnd();
}));

beginn.Join(10);
}
}
catch (ThreadAbortException)
{

}

catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Я хочу прочитать, когда произойдет прерывание. Но как мне это сделать?

Подробнее здесь: https://stackoverflow.com/questions/162 ... data-comes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»