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 TApdComPort v4.07 und Delphi 7, warum nur 8192 Byte? (https://www.delphipraxis.net/148047-tapdcomport-v4-07-und-delphi-7-warum-nur-8192-byte.html)

greendog_de 21. Feb 2010 12:25


TApdComPort v4.07 und Delphi 7, warum nur 8192 Byte?
 
Hallo,

ich möchte Daten, die von einem Messgerät über einen RS232-USB-Umsetzer (basierend auf PL2303 von Prolific) ohne jegliches Handshake mit 38400 Baud an den PC gesendet werden, mittels der Komponente TApdComPort v4.07 empfangen und weiter auswerten. Die vom Messgerät gesendete Datenmenge beläuft sich auf ca. 18000 Byte Binärdaten. Mein Problem ist, dass immer nur genau 8192 Byte von der Komponente empfangen werden. Folgenden Code nutze ich prinzipiell um nur mal zu sehen, wieviele Byte kommen:

Delphi-Quellcode:
procedure TForm1.ComPort1TriggerAvail(CP: TObject; Count: Word);
begin
  StatusBar1.Panels[0].Text := IntToStr(Count);
end;
ComPort1.InSize steht auf 32768, sollte also kein Problem sein.

Hat jemand eine Idee, was hier falsch läuft?

Ach ja, die 8192 Byte sind soweit auch korrekt, es kommt also kein Müll an.

Vielen Dank schon mal!

Gruß
Thorsten

zeras 21. Feb 2010 18:28

Re: TApdComPort v4.07 und Delphi 7, warum nur 8192 Byte?
 
Läuft das Handshake vielleicht nicht korrekt? Machst du mit XON/XOFF oder Hardwarehandshake? Ich nutze die Tools von TMS und habe keine derartigen Probleme. Kannst du eine andere Baudrate einstellen?
Da genau 8192 übertragen werden und dies ein Vielfaches von 2 ist, scheint hier eine Regel zuzuschlagen, ob auf der Controllerseite oder auf dem PC.
Hast du mal Hyperterminal genutzt oder ein anderes Terminalprogramm, um zu sehen, ob doch alle Daten kommen. Es kann auch sein, dass der USB Seriell Wandler Probleme macht. Das hatte ich auch einmal. Vielleicht kann du in der Systemsteuerung was zum Wandler einstellen.
Auf jeden Fall mal ein Terminalprogramm dranhängen. Ich nutze dafür immer Terminal v1.9b von Br@y. Das ist echt gut.

greendog_de 22. Feb 2010 20:03

Re: TApdComPort v4.07 und Delphi 7, warum nur 8192 Byte?
 
Hallo,

also es läuft gar kein Handshake, das Messgerät sendet seine 18000 Byte an einem Stück und mit einem Terminalprogramm kann ich alle Daten empfangen. Meine Vermutung ist mitlerweile auch, dass es an dem USB-RS232-Umsetzer liegt. Ich werde mal einen mit einem anderen Chip probieren, evtl. kann ich auch was basteln, um die gewöohnliche RS232-Schnittstelle von meinem Mainboard zu benutzen.

Gruß
Thorsten

thkerkmann 22. Feb 2010 20:09

Re: TApdComPort v4.07 und Delphi 7, warum nur 8192 Byte?
 
Hi,

wenn es mit einem Termimalprogramm geht, wird es wohl kaum am USB Wandler liegen. Dann liegt es sicherlich an der Softwarekomponente.
Ich kenne jetzt Deine Komponente nicht, aber trotzdem glaube ich da solltest Du nochmal ansetzen.

Gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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