Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   serielle schnittstelle Ich versteh nur bahnhof (https://www.delphipraxis.net/98112-serielle-schnittstelle-ich-versteh-nur-bahnhof.html)

shmia 22. Aug 2007 17:53

Re: serielle schnittstelle Ich versteh nur bahnhof
 
Delphi-Quellcode:
ser.Connect('COM1');
ser.Config(2400,8,'N',2,false,false);
ser.SendString(Chr(12)+';'+Chr(18)+';'); // Variante 1
ser.SendString(#12';'#18';'); // Variante 2

christian_u 22. Aug 2007 17:56

Re: serielle schnittstelle Ich versteh nur bahnhof
 
Die 2 die du dort hingeschrieben hast, entspricht nicht 2 Stopbits dafür gibts in synapse Konstanten ich hab das nicht aus dudeldei erzählt ;)
Das mit der 2 funktioniert garantiert nicht.

snow 22. Aug 2007 18:35

Re: serielle schnittstelle Ich versteh nur bahnhof
 
Ich hab mal getestet. Das Interface läuft auch mit nur einem Stopbit.(nur unter BASIC)

mit diesem basic-code läuft es problemlos


Zitat:

100 OPEN "COM1:2400,N,8,1," FOR RANDOM AS #1
200 INPUT " Byte1 (Geschw. 0-15) "; GE
210 INPUT " Byte2 (Loknr. 1-80) "; LN
300 PRINT #1, CHR$(GE); CHR$(LN);
close #1
auch shmia's methoden funzen net. :wall:

snow

christian_u 22. Aug 2007 19:27

Re: serielle schnittstelle Ich versteh nur bahnhof
 
var
ser : TBlockSerial;
Loknr : byte;
Geschw : byte;
begin
ser := TBlockSerial.Create;
ser.Connect('COM1');
ser.Config(2400,8,'N',SB1,false,false);
ser.SendString(Chr(Loknr)+Chr(Geschw));
ser.Free;
end;

snow 22. Aug 2007 20:48

Re: serielle schnittstelle Ich versteh nur bahnhof
 
Vielen Vielen Dank.

es hat geklappt. :bounce1: :bounce1: :bounce1: :bounce1: :bounce1: :bounce1: :bounce1: :bounce1: :bounce1: :bounce1:



Lok 18 fährt jetzt mit geschwindigkeit 12 im kreis.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

 var
ser : TBlockSerial;
Loknr : byte;
Geschw : byte;
begin
Loknr := 18;
geschw := 12;
ser := TBlockSerial.Create;
ser.Connect('COM1');
ser.Config(2400,8,'N',SB2,false,false);
ser.SendString(Chr(Geschw)+Chr(Loknr));
ser.Free;
end;
so dann schnell mal abspeichern und sicherheitskopie anfertigen

und dann sofort weiterprogrammiern


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 Uhr.
Seite 3 von 3     123   

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