Einzelnen Beitrag anzeigen

Wal

Registriert seit: 22. Sep 2006
57 Beiträge
 
#3

AW: Probleme Empfang TComPort DataPacket

  Alt 5. Mär 2012, 02:34
In deinem Code sehe ich nicht, wie du Daten empfängst.
Achtung unter Delphi7 sind AnsiChar Char.

Bei meinem Laufbandprojekt empfange ich so und reagiere darauf:

Delphi-Quellcode:
const
  Co_PAUSE = 2;
  Co_SCHNELLSTART = 3;

procedure TMainForm.ComPortRxChar(Sender: TObject; Count: Integer);
var
  A: String;
  C: AnsiChar;
  I: Integer;
begin
  if Count = 1 then
  begin
    ComPort.Read(C, 1);
    case Ord(C) of
    Co_PAUSE : begin
                        if pan_start.Caption = 'Pausethen
                          pan_start.OnClick(self);
                      end;
    Co_SCHNELLSTART: begin end;
    Co_SCHNELLSTOP : begin end;
    Co_LANGSAMSTART: begin end;
    Co_LANGSAMSTOP : begin end;
    Co_AUFSTART : begin end;
    Co_AUFSTOP : begin end;
    Co_ABSTART : begin end;
    Co_ABSTOP : begin end;
    end;
  end else
  begin
    for I := 1 to Count do
    begin
      ComPort.Read(C, 1);
      A := A + Char(C);
    end;
    lab_IstAnalog.Caption := A;
  end;
end;
Bei Messungen würde ich aber mit Checksummen arbeiten, um Falschmessungen auszuschliessen.
Gruß Wal

Es gibt viel zu tun, sitzen wir's aus ! 0(°~°)0
  Mit Zitat antworten Zitat