Jeg har ikke styr på I/O til RS232 - men det virker det som om at du har. C# har jeg heller ikke praktisk erfaring med - så bær over med mig hvis jeg skyder helt ved siden af.
Hvis du har styr på at modtage strengen og at sende den igen - så er det jo "bare" et spørgsmål om at udlede noget data fra den.
Vi ved at strengen altid har 4 carriage returns og et linefeed og at den slutter med en nul byte. Der er tre strenge med informationer i, og vi skal bruge den anden.
- using System.Text.RegularExpressions;
-
- string input = '\r\nxxx\r\nyyy\r\nzzz\r\n\0';
-
- string[] lines = Regex.Split(input, "\r\n");
Det som overstående eksempel gør er at splitte strengen input (som svarer til dit eksempel, bare oversat til escaped characters som bruges i C#) op til et array på <CR><LF>. Det vil sige at du får et array bestående af følgende items:
- ""
- xxx
- yyy
- zzz
- <NUL>
Så for at læse yyy skal du bruge item 2 (lines[2]). Og så kan du sende input variablen videre.
Håber ikke at jeg har misforstået dit spørgsmål og har fortalt dig en masse banaliteter :-)