C#读取字节形成串行端口并从队列中解析

时间:2017-11-07 08:20:31

标签: c# parsing serial-port queue

我是C#的新手,我开始修改现有的应用程序。 此应用程序从串行端口(115200波特)读取字节并解析这些字节。应用程序使用while语句逐字节读取:

public bool GetMessage(SerialPort sp, out ProtocolMsgT parsedMsg)
{
        try
        {
            if (sp.IsOpen)
            {
                while (sp.BytesToRead != 0)
                {
                   // Parsing
                }
             }
         }
}

字节从嵌入式系统发送,字节表示长度最多为128字节的日志消息。特别是日志消息将打印到多行文本框中。

实际上,应用程序仅显示最后收到的日志。我认为这是由于读取和解析过程。

哪种方法是以高波特率解析消息?

我认为使用从串行连续读取的任务将字节存储到队列中。使用另一个任务来解析字节并管理GUI。

这应该有效吗?

谢谢!

0 个答案:

没有答案