Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Übertragung von Buchstaben per RS232? (https://www.delphipraxis.net/91606-uebertragung-von-buchstaben-per-rs232.html)

shmia 8. Mai 2007 15:59

Re: Übertragung von Buchstaben per RS232?
 
Zitat:

Zitat von Rainer1000
ich weiß nicht, wie ich das serialNG dazu bekomme was zu übertragen, bzw. wie ich die Serial-Port-Einstellungen mach..

Jede Wette, du hast das Beispielprojekt SerialNGBasicDemo.dpr nicht angeschaut. :warn: :warn: :warn:
Sonst hättest du gesehen, dass auf dem Formular ein Button "Settings" liegt.
Geht man da dem Code nach kommt man zu:
Delphi-Quellcode:
procedure TSerialNGBasicDLG.GetDLGData(SerialPortNG : TSerialPortNG);
begin
  SerialPortNG.CommPort := CBPort.Items[CBPort.ItemIndex]; // z.B. 'COM1'
  SerialPortNG.BaudRate := StrToIntDef(CBBaud.Items[CBBaud.ItemIndex],9600); // z.B. 2400
  SerialPortNG.DataBits := StrToIntDef(Copy(CBData.Items[CBData.ItemIndex],1,1),8); // z.B. 8
  SerialPortNG.StopBits := CBStop.ItemIndex; // 0 = 1 Stopbit
  SerialPortNG.ParityType := CBParity.ItemIndex;
  SerialPortNG.FlowControl := BasicFlowModes[CBFlow.ItemIndex];
  SerialPortNG.Active := True;
end;
Also für mich sieht das ganz Glasklar und direkt aus.
Man muss natürlich den Willen haben, die Komponente zu installieren und das Beispielprojekt anzuschauen...
Die ganzen Properties lassen sich auch direkt im Objektinspektor einstellen.

Rainer1000 8. Mai 2007 16:42

Re: Übertragung von Buchstaben per RS232?
 
Soweit war ich auch schon (habs im OI eingestellt).

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, SerialNG, StdCtrls {serialng};

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    serial: TSerialPortNG;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var text:string;
begin

    serial.sendString('0t0e0s0t');
 
end;

end.

Das hab ich jetzt versucht, sollte auf dem Teil "Test" ausgeben.

jetzt schlagt mich ruhig wegen plödster Fehler, aber ich hab echt kein Peil wie ich das hinbekomme. DAS funzt jedenfalls nciht, wie gesagt, Baud etcpp im OI eingestellt.

shmia 8. Mai 2007 16:56

Re: Übertragung von Buchstaben per RS232?
 
Zitat:

Zitat von Rainer1000
jetzt schlagt mich ruhig wegen plödster Fehler

Ich bin gleich soweit. :zwinker:
Du musst natürlich deine Tests mit dem Projekt SerialNGBasicDemo.dpr beginnen !!!!!!
Diese einfache Programm kann einen String an die ser. Schnittstelle senden und zeigt die Antwort an.
SerialNGBasicDemo.exe funktioniert 1000% - tig.
Und wenn nicht, dann liegt ein Hardwareproblem oder eine falsche Konfiguration der Parameter vor.
Erst wenn SerialNGBasicDemo funktioniert hat, darf man daran denken die Komponente in ein eigenes Programm einzubauen.

Man ganz grundsätzlich, um die serielle Schnittstelle anzusprechen ist folgende Reihenfolge einzuhalten:

1.) Hardware anschliesen
2.) mit Terminalprogramm (z.B. Hyperterminal) testen. Nur wenn alles OK, weiter zu 3.)
3.) mit SerialNGBasicDemo testen. Nur wenn alles OK, weiter zu 4.)
4.) Komponente in eigenes Programm einbauen. Bei Problemen zurück zu 3.)

Rainer1000 8. Mai 2007 17:02

Re: Übertragung von Buchstaben per RS232?
 
Also vorgehen wie du sagst:

1) OK!
2) OK! (SimpleTermSE, scho immer mit gearbeitet, schickt "0t0e0s0t", zeigt korrekt an "Test".
3) Einstellungen gemacht, "T0e0s0t" geschickt, ausgabe aber nur "t".

Sorry wenn ich euch alle ein bissl nerve,a ber ich weiß net weiter

//Edit:

Einzeln geschickt "0t" "0e" usw klappt dann, könnte evt an so ner art Flashtime hängen?

//Edit2:

Weiß jetzt auch, wieso die Nullen immer vorher geschickt werden, das ist die ID des Empfangsterminals

TurboMartin 8. Mai 2007 18:00

Re: Übertragung von Buchstaben per RS232?
 
[equote="Auszug aus http://www.velleman.be/downloads/0/manual_k8045.pdf (Seite 15)"]
Baudrate: 2400
Parity: None
Databits: 8
Stopbits: 1
No handshaking
[/equote]
Also von einem Stopbit hast du bisher aber nichts gesagt ;)

Rainer1000 8. Mai 2007 18:30

Re: Übertragung von Buchstaben per RS232?
 
Zitat:

Zitat von Rainer1000
Es tut mir ja leid, aber ich komm damit leider nicht weiter...

Ich wär euch sehr dankbar, wenn mir irgendeiner im Spaghetti-Code Verfahrenoder so malne

class kurz aufschreibt und ne Procedure, die mir bei 2400Baud, 8 DB, keine Parity, 1 SB, no handshaking einfach nen string an den Com2 schicken kann...


Verdammt, Sysadmin isn harter Job... :wall: :wall: :wall: :coder2:



Doch...


Aber komm trotzdem leider immernoch nciht weiter... und ich brauchs am Fr. fuck...

bit4bit 8. Mai 2007 19:31

Re: Übertragung von Buchstaben per RS232?
 
Zitat:

2) OK! (SimpleTermSE, scho immer mit gearbeitet, schickt "0t0e0s0t", zeigt korrekt an "Test".
3) Einstellungen gemacht, "T0e0s0t" geschickt, ausgabe aber nur "t".
... da fehlt doch die erste "0" , oder ?

bit4bit

Rainer1000 8. Mai 2007 19:33

Re: Übertragung von Buchstaben per RS232?
 
Habs zur Sicherheit noch mal getestet, aber selbes Ergebnis...

Kann mir denn keiner helfen?

DGL-luke 8. Mai 2007 20:05

Re: Übertragung von Buchstaben per RS232?
 
Hallo,

bist du sicher, dass du nicht stattdessen

Delphi-Quellcode:
#0'T'#0'e'#0's'#0't'
schicken solltest?

ansonsten sehe ich im Moment keine Ansatzpunkt, um dir bei deinem Problem zu helfen. Hast du ein Datenblatt für das Gerät? FUnktionierts per Hyperterminal?

Rainer1000 8. Mai 2007 20:16

Re: Übertragung von Buchstaben per RS232?
 
Also wenn ich diesen string schicke, dann zeigt der mir "''" an... also immer das Symbol nach der "0".

ich glaub, ich muss das mal auseinandernehmen und nkomplett neu zusammenpuzzlen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:08 Uhr.
Seite 2 von 3     12 3      

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