我是C#的新手,我开始修改现有的应用程序。 此应用程序从串行端口(115200波特)读取字节并解析这些字节。应用程序使用while语句逐字节读取:
public bool GetMessage(SerialPort sp, out ProtocolMsgT parsedMsg)
{
try
{
if (sp.IsOpen)
{
while (sp.BytesToRead != 0)
{
// Parsing
}
}
}
}
字节从嵌入式系统发送,字节表示长度最多为128字节的日志消息。特别是日志消息将打印到多行文本框中。
实际上,应用程序仅显示最后收到的日志。我认为这是由于读取和解析过程。
哪种方法是以高波特率解析消息?
我认为使用从串行连续读取的任务将字节存储到队列中。使用另一个任务来解析字节并管理GUI。
这应该有效吗?
谢谢!