Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

AW: Bytes aus Comport lesen

  Alt 24. Feb 2012, 14:03
Man kann und sollte auch direkt mit AnsiStrings arbeiten; dann entfällt dieses mühsehlige Rumgemache mit "buff" und "binaer".

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   sSend: AnsiString;
begin
   if not ComPort1.connected then
   begin
     //ComPort initialisieren
     ComPort1.BaudRate := br9600;
     ComPort1.DataBits := dbEight;
     ComPort1.StopBits := sbOneStopBit;
     ComPort1.Parity.Bits := prNone;
     ComPort1.FlowControl.FlowControl := fcNone;
     ComPort1.Port := 'COM16';
     ComPort1.Open;
   end;


   sSend := #2#0#1#254#255; //ccTalk Polling Befehl
   // Hinweis: das letzte Byte ist die Prüfsummer bei ccTalk
   // eigentlich müsste diese berechnet werden

   Memo1.Lines.Clear;
   Memo1.Lines.Add('Sende: 'sSend);

   //Befehl an Comport senden
   ComPort1.ClearBuffer(True, True); //sicherheitshalber
   ComPort1.Write(sSend[1], Length(sSend));
end;
Andreas
  Mit Zitat antworten Zitat