Einzelnen Beitrag anzeigen

angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#1

TComport, probleme beim Lesen

  Alt 1. Aug 2007, 14:59
Hallo,

ich habe ein kleines Problem. Ich versuche auf einen Barcodescanner CS1504 per Comport zuzugreifen. Ich nutze die Komponente ComportLibrary.
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:
6. COMMUNICATION CHARACTERISTICS
The character framing shall be 8 data bits, 1 stop bit, and odd parity. The default baud rate shall be 9600.
The maximum length of any command message shall be 70 bytes while the maximum length of any response
message shall be 6144 bytes (6 KB). Messages shall be transmitted starting with the command/status byte and ending
with the CRC. Each byte shall be transmitted from LSB to MSB.
Jemand eine Idee worauf ich vielleicht noch achten muss?

Folgender Code wird genutzt um die Daten zum Comport zu senden und vom Comport zu lesen:

Delphi-Quellcode:
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;
Danke
Ansgar
  Mit Zitat antworten Zitat