Читайте последовательный порт на С# только при поступлении данных.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

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