Da liegt ein mißverständnis vor
"ISCHARWAITING()" liefert "0", wenn nix da ist, und "1", wenn eins oder mehrere Zeichen da sind. Die Daten mußt du dir schon selber holen. Und beim UART mußt du sie auch selber zusammensetzen, also hintereinanderhängen.
in etwa so, wenn z.B. genau 7 Zeichen erwartet werden:
Code:
dim buffer(10) as byte
dim bufferindex as byte


  Bufferindex = 1        ' Index an den Anfang

  IF IsCharWaiting() <> 0 then 
      Buffer(Bufferindex) = INKEY()
      incr Bufferindex 
      IF Bufferindex > 7 then
'------------- Alle Datenfelder komplett, jetzt verarbeiten ----------------
         Bufferindex = 1        ' Index zurücksetzen
      End If
   End If