From 8f919363775e733df6ee1024f7a9f103695031a5 Mon Sep 17 00:00:00 2001 From: phkim Date: Wed, 6 Jul 2022 15:40:21 +0900 Subject: [PATCH] fix recieve event --- RS232Test/Form1.cs | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/RS232Test/Form1.cs b/RS232Test/Form1.cs index b93718c..3ec643e 100644 --- a/RS232Test/Form1.cs +++ b/RS232Test/Form1.cs @@ -123,21 +123,30 @@ namespace RS232Test return; serialStream = String.Concat(serialStream, data); - string packetString = pullPacketString(); - Console.WriteLine(); - EqTocPrint(packetString); + List packetStringList = pullPacketStringList(); + + foreach (string packetString in packetStringList) + { + Console.WriteLine(); + EqTocPrint(packetString); + } } - private string pullPacketString() + private List pullPacketStringList() { - int etxIndex = serialStream.IndexOf(SEPERATOR); - if (etxIndex < 0) - return null; + List packetStringList = new List(); + while (true) + { + int etxIndex = serialStream.IndexOf(SEPERATOR); + if (etxIndex < 0) + break; - string packetString = serialStream.Substring(0, etxIndex); - serialStream = serialStream.Remove(0, etxIndex + SEPERATOR.Length); + string packetString = serialStream.Substring(0, etxIndex); + packetStringList.Add(packetString); + serialStream = serialStream.Remove(0, etxIndex + SEPERATOR.Length); + } - return packetString; + return packetStringList; } private void EqTocPrint(string message)