Forum: Sonstige Fragen zu Delphi
Delphi
by Wal,
6. Mär 2012
ComPort := TComPort.Create(Nil);
ComPort.OnRxChar := ComPortRxChar;
ComPort.Port := 'COM1';
ComPort.BaudRate := br9600;
ComPort.FlowControl.ControlDTR := dtrEnable;
ComPort.FlowControl.OutDSRFlow := True;
ComPort.FlowControl.OutDSRFlow := True;
ComPort.FlowControl.TxContinueOnXoff := True;
ComPort.FlowControl.XonXoffOut := False;
ComPort.FlowControl.XonXoffIn := False;
Forum: Sonstige Fragen zu Delphi
Delphi
by Wal,
6. Mär 2012
Du kannst das hier noch testen:
procedure TfrmMain.Timer1Timer(Sender: TObject);
var
A: String;
begin
if ComPort.InputCount > 0 then
begin
ComPort.ReadStr(A, ComPort.InputCount);
memo1.Text := memo1.Text + 'Daten: ' + A + #13#10;
Forum: Sonstige Fragen zu Delphi
Delphi
by Wal,
6. Mär 2012
Glaube ich nicht, das dein Gerät Daten sendet. Die Procedure wird angesprungen, sobald Daten empfangen werden, auch wenn's Schrott ist z.B. bei falscher Baudrate.
Ich denke, das dein Gerät anzeigt, das es Daten empfängt es sendet nur nichts zurück, da die Anfrage falsch sein wird.
Forum: Sonstige Fragen zu Delphi
Delphi
by Wal,
6. Mär 2012
Versuch mal ein crlf mitzusenden.
ComPort.WriteStr(#6#13#13#10);
Ok, durch das ; wird #13 beim Print-Befehl unterdrückt, crlf wird auch nicht funzen.
Da würde ich es mal so versuchen:
var