![]() |
TComport, probleme beim Lesen
Hallo,
ich habe ein kleines Problem. Ich versuche auf einen Barcodescanner ![]() ![]() Ich kann dort auch die Initialisierungsroutine rüberschicken, und der Scanner piept, also kommt etwas an. Nur kann ich mit der TComport - Komponente nun gar nichts vom Comport lesen.... Ist mein erstes Projekt mit Zugiff auf einen Comport und ich weis noch nicht so recht, worauf ich da vielleicht noch achten muss. Ich habe: - Die Baudrate passend eingestellt: 9600 - Stopbits passend auf OneStopBit eingestellt. - Databits werden in 8Bits übergeben Das habe ich laut folgendem Auszug aus der Handbuch so eingestellt: Zitat:
Folgender Code wird genutzt um die Daten zum Comport zu senden und vom Comport zu lesen:
Delphi-Quellcode:
Danke
procedure ResetBuffer(var aBuff: Array of Char);
var i: Integer; begin for i := 1 to Length(aBuff) do aBuff[i] := CHR($00); end; procedure TForm1.btnClick(Sender: TObject); var aBuff: Array[0..50] of Char; begin ComPort.Open; ResetBuffer(aBuff); aBuff[0] := CHR($01); aBuff[1] := CHR($02); aBuff[2] := CHR($00); aBuff[3] := CHR($9F); aBuff[4] := CHR($DE); ComPort.Write(aBuff, 5); ComPort.Read(aBuff, 1); end; |
Re: TComport, probleme beim Lesen
Du mußt die Parität noch auf ungerade (odd) setzen.
Gruß oki |
Re: TComport, probleme beim Lesen
hi,
hab ich vergessen oben zu erwähnen, Parity=odd ist gesetzt. |
Re: TComport, probleme beim Lesen
Hi,
es macht mehr Sinn das Ereignis für den Empfang von Daten der komponente zu benutzen. Leider kenne ich diese Kompo nicht. Das Prinzip ist aber eigentlich immer das gleiche. Im Ereignis die daten auslesen. gruß oki |
Re: TComport, probleme beim Lesen
Hallo,
Leider komm ich so immer noch nicht an die Dtaen. Da das aber mit einem Drittprogramm geht und ich mit einem Portmonitor geprüft habe, dass die gleiche Zeichenfolge auf den COM geschrieben wird, gehe ich noch von einem Einstellungsproblem des TComport aus. vielleicht hier nochmal eine Zusatzinfo. Folgende Ereignisse des TComport werden in der gegebenen Reihenfolge ausgeführt. Zitat:
|
Re: TComport, probleme beim Lesen
Hast du schon mal das Programm Hyperterminal (Programme->Zubehör->Kommunikation) oder ein anderes Terminalprogramm benützt, um festzustellen, ob der Scanner überhaupt Daten sendet ???
Falls nicht: unbedingt ausprobieren, vorher brauchst du gar nicht weiterprogrammieren. |
Re: TComport, probleme beim Lesen
Zitat:
nach dieser Aussage wird ein Sicherungsprotokoll verwendet mit Command - Status - Data - CRC. Ein solches Protokoll muss zusätzlich zum Zugriff über eine serielle Komponente selbst programmiert werden, z.B. mit einer Zustandsmaschine. Dazu braucht man natürlich eine exakte Protokoll-Definition. Gruss Reinhard |
Re: TComport, probleme beim Lesen
Hallo angos,
ich hab mir mal schnell die Kompo runter geladen. Dort sind auch einige Beispiele dabei. Die Kompo implementiert z.B. das Ereignis RxChar. Dieses kann laut Demo wie folgt benutzt werden:
Delphi-Quellcode:
Damit müsste für den Empfang der Daten auf dem Port alles klar sein.
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var Str: String; begin ComPort.ReadStr(Str, Count); Memo.Text := Memo.Text + Str; end; Wie du aus den empfangenen Zeichen dann die Scannerdaten decodierst sagt dir die Doku des Scanners. Gruß oki [edit] Noch mal ein bischen Rechtschreibung korrigiert. [/edit] |
Re: TComport, probleme beim Lesen
Hi oki,
das Prinzip an sich ist mir schon klar, nur er springt halt gar nicht in die Routine ComPortRxChar. Deswegen gehe ich ja nach wie vor von einem Konfigurationsproblem des TCoomport aus ;) Hatte ja in dem Thread oben die Events gezeigt, welche nacheinander durchlaufen. Klick auf den Button zum Verbinden/Datenauslesen Zitat:
Klick auf den Disconnect-Btn: Zitat:
Gruß |
Re: TComport, probleme beim Lesen
Habs rausgefunden :hello:
Es war tatsächlich eine Einstellung am TComport. Die Einstellung ControlDtr muss in meinem Fall auf dtrHandshake stehen. trotzdem danke für die Hilfen oki :) :dp: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz