Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Timing Probleme am COM Port (https://www.delphipraxis.net/63445-timing-probleme-am-com-port.html)

carknue 18. Feb 2006 23:48


Timing Probleme am COM Port
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich möchte mit meinem Delphi 6 Programm einmal pro Sekunde 5 Bytes ( immer 00 00 00 00 F7) über die serielle Schnittstelle an ein Gerät senden, was darauf mit 5 Bytes antwortet. Diese 5 Bytes möchte ich dann auswerten. Von den empfangenen Bytes sind die ersten 4 immer identisch und das fünfte ist immer F7, als zB 48 48 48 48 F7 oder 15 15 15 15 F7. Für die serielle Kommunikation nutze ich TComPort 3.0. Nun habe ich das Probleme, das mein Programm zwar auf meinem Desktop PC (P4 2.6GHz XP) zwar einwandfrei läuft aber auf meinem Notebook (Centrino 1.6 Ghz XP) werden die 5 Bytes falsch empfangen, sihe angehängten Portmon log. Auf anderen PCs wird teilweise garnichts empfangen. Woran könnte das liegen? Ich vermute, dass die Konfigurtion des Com Ports nicht ganz richtig ist. hier mein Code:

Delphi-Quellcode:
  ComPort1.Port:='COM1';
  ComPort1.BaudRate:=br4800;
  ComPort1.StopBits:=sbTwoStopBits;
  ComPort1.DiscardNull:=false;
  ComPort1.Parity.Check:=false;
  Comport1.DataBits:=dbEight;
  comport1.FlowControl.ControlDTR:=dtrhandshake;
  comport1.FlowControl.ControlRTS:=rtshandshake;
  Comport1.Open;

procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
begin
 if ComPort1.Readstr(sms,Count)=5 then sm1:=ord(sms[1]);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  ComPort1.WriteStr(Chr(0)+Chr(0)+Chr(0)+Chr(0)+Chr($F7));
end;
Wie gesagt, die empfangenen ersten 4 Byte müssen immer identisch sein und das letzte Byte muß F7 sein. Wenn das nicht der fall ist, stimmt was in der Kommunikation nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz