Hallo,
stelle doch mal dein Programm ein, dann ist es viel einfacher, dir zu helfen.
Deine Aufgabe ist etwas umfangreich, als das dir einer das ganze Programm schreibt.
Wenn du beim Senden mit einem bestimmten Zeichen endest, welches sonst nicht vorkommt, dann kannst du dir den Empfang dieses Zeichens auch über einen Interrupt anzeigen lassen (CONFIG SERIALIN BYTEMATCH). Dann ist die Auswertung sehr simpel. Geht aber meistens nur, wenn du Strings sendest, weil dann die ASCII Zeichen unter 32 normalerweise nicht vorkommen.
Ohne Ende-Zeichen hast du auch das Problem zu erkennen, wann Schluss ist mit der Übertragung, oder schickst du immer eine feste Anzahl Bytes?

Gruß

Rolf