Hallo Zusammen,


ich möchte aus einem seriellen Stream sicher eine String isolieren. Der String ist immer 8 Zeichen lang und beginnt mit dem Buchstaben G.
Also frage ich ab ob das Zeichen G empfangen wurde (Über Bytematch =71).
Nun wird abgefragt ob mehr als 8 Zeichen im Buffer sind.

Danach versuche ich herauszufinden wo das erste G auftritt.
Hierzu wollte ich folgenden Befehl benutzen:

if _RS232INBUF0(_RS_HEAD_PTR0) <>"G"
c = inkey()

Damit lese ich aus dem Puffer das Zeichen auf welches der Headpointer zeigt und stelle den Zeiger auf das nächste Byte im Ringpuffer.

Leider funktioniert die Adressierung in dem Array so nicht.
Ich möchte Zeichen im Puffer lesen ohne den Haedpointer weiterzustellen.

Es könnte sein, dass noch nicht alle 8 Nutz-Zeichen im Puffer sind. Dann springe ich aus dem Unterprogramm heraus und prüfe im nächsten Durchlauf ob ausreichen Zeichen im Puffer sind.
Der Head Pointer steht dann bereits auf dem ersten "G".

Gibt es eine Möglichkeit aus dem Puffer zu lesen ohne den Zeiger weiterzustellen ?


beste Grüsse

Christian