Я получил код на c # для чтения результатов модема, совместимого с AT-командами.В случае, если я начинаю читать COM-порт, все приложения зависают до получения данных.Я полагаю, я должен использовать многопоточность, но я не знаю, как?
if (!serialPort1.IsOpen)
serialPort1.Open();
serialPort1.WriteTimeout = 5000;
serialPort1.NewLine = "\r\n";
serialPort1.WriteLine("AT#MON");
serialPort1.NewLine = "\r\n";
while (true) // Loop indefinitely
{
serialPort1.NewLine = "\r\n"; // Prompt
string linee = serialPort1.ReadLine(); // Get string from port
if (System.Text.RegularExpressions.Regex.IsMatch(linee, ("^xcqa:")))
{
textBox1.AppendText(System.Environment.NewLine);
}
if (System.Text.RegularExpressions.Regex.IsMatch(linee, ("^fkss:")))
{
textBox1.AppendText(System.Environment.NewLine);
}
if (System.Text.RegularExpressions.Regex.IsMatch(linee, ("ended"))) // Check string
{
break;
}
textBox1.AppendText(linee);
}