Einzelnen Beitrag anzeigen

Blamaster

Registriert seit: 20. Jul 2007
230 Beiträge
 
#1

TApdComPort Empfangsprobleme

  Alt 22. Mär 2011, 16:12
Hi,

ich habe aktuell ein paar Schwierigkeiten Daten mit der TApdComPort Komponente korrekt zu empfangen. Die Objekteigenschaften habe ich zum Großteil (bis auf Kleinigkeiten wie Port, Baud, usw) auf default gelassen.

Die Hardware sendet nun folgendes:
Ein Startbyte als Char und darauf folgendend ein Kommando ebenfalls als Char. Anschließend folgt dann eine Liste, bei der jede Zeile als String gesendet wird. Die Stringliste wird mit linefeeds gesendet.

Nun möchte ich die gesendete Liste in Delphi in eine TStringlist befördern.

Der aktuelle Code den ich mir zusammengebastelt habe sieht so aus:

Code:
procedure TForm1.ComPortTriggerAvail(CP: TObject; Count: Word);
var
  I: Word;
  C: Char;
  S: string;
begin
  S := '';

  for i := 1 to Count do
  begin
    c := ComPort.GetChar;

    case Ord(C) of
      255: test.Clear;
      201: ShowMessage('Liste erfolgreich übertragen');
      202: ShowMessage('Übertragung fehlgeschlagen !');
      203: test.Clear;
    else
      case C of
        #10: ;
        #13:
          begin
            test.Add(trim(s));
            s := '';
          end;
      else
        s := s + c;
      end;
    end;
  end;

  if test.Count = 16 then
    ShowMessage(test.Text);
end;
Eigentlich funktioniert der Code im großen und ganzen auch. Allerdings werden ab und zu zeichen verschluckt und kommen nicht korrekt an so kann aus einem "2500" schonmal ein "500" werden.

Nutze ich zur Kommunikation z.B. Hterm wird alles korrekt angezeigt.
Wo kann das Problem liegen ?

Grüße
  Mit Zitat antworten Zitat