AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TSerial - RS232 ansprechen

Ein Thema von Netblaster · begonnen am 6. Jun 2008 · letzter Beitrag vom 15. Aug 2012
Antwort Antwort
Seite 3 von 5     123 45   
Chriss112

Registriert seit: 11. Feb 2009
Ort: Bous
3 Beiträge
 
#1

Re: TSerial - RS232 ansprechen

  Alt 11. Feb 2009, 21:00
´Hallo!
hab mal ne frage und zwar is da ne funktion dabei, die mir sagt ob an irgeneinem pin ein signal anliegt?
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TSerial - RS232 ansprechen

  Alt 11. Feb 2009, 21:14
Hallo Chriss112,

in Post #15 steht der Link zum Downloaden der Komponente, dabei ist auch eine sehr ausführliche Hilfe.

Man kann bestimmte Zustände mit einem "TriggerStatus" anzeigen lassen.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Chriss112

Registriert seit: 11. Feb 2009
Ort: Bous
3 Beiträge
 
#3

Re: TSerial - RS232 ansprechen

  Alt 11. Feb 2009, 21:58
Vielen Dank!
  Mit Zitat antworten Zitat
hadschi92

Registriert seit: 25. Okt 2006
83 Beiträge
 
Delphi XE3 Professional
 
#4

Re: TSerial - RS232 ansprechen

  Alt 4. Jun 2009, 16:03
Dann hätte ich doch auch mal eine Frage.

Ich möchte eine dauerhafte Spannung an einem Pin anliegen haben, mein Code sieht bis jetzt so aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Zeichen : char;
begin
  if Button1.Caption = 'Startthen begin
    Button1.Caption := 'Stop';
    Zeichen := 'ÿ';
    with TCom.Create(nil) do
    try
      Label2.Caption := 'läuft';
      Label2.Font.Color := clLime;
      if Open(1,RTS_DISABLED,DTR_DISABLED) then
        while Button1.Caption = 'Stopdo begin
          Send(Zeichen);
          Application.ProcessMessages;
        end;
    finally
      Label2.Caption := 'gestoppt';
      Label2.Font.Color := clRed;
      Button1.Caption := 'Start';
      Close;
      Free;
    end;
  end
  else Button1.Caption := 'Start';
end;
Das Zeichen 'ÿ' habe ich genommen, weil es als Byte dargestellt "1111 1111" ist und daher dauernd Spannung anliegen müsste. Ich weiß zwar nicht ob mein Gedankengang bis jetzt richtig ist, doch ich weiß nicht an welchem Pin das Signal ausgegeben wird. Kann man das auch einstellen oder wird es auf allen Pins ausgegeben?

Hinzufügen möchte ich, dass ich ein altes Kabel einer Maus angeschlossen habe und dieses aufgeschnitten habe.Diese Kabel hat aber nur 5 Adern, kann ich damit überhaupt arbeiten?

Edit:
Zitat:
Objekte, die als Typ char deklariert sind, können jedes Zeichen aus dem nicht erweiterten ASCII-Zeichensatz aufnehmen.
Funktioniert das überhaupt mit meinem Zeichen, denn es kommt im ASCII-Zeichensatz gar nicht vor!?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.779 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: TSerial - RS232 ansprechen

  Alt 4. Jun 2009, 16:17
.. Du hast eine serielle Verbindung
also sollten die Daten auf dem TX Pin anliegen.
Sie liegen aber nicht daherhaft an, wenn ich micht recht
entsinne kommen nach 8 Datenbits Steuersignale (siehe dazu hier)

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
ZamKirill

Registriert seit: 15. Aug 2012
1 Beiträge
 
#6

AW: TSerial - RS232 ansprechen

  Alt 15. Aug 2012, 16:07
Servus zusamm und vielen Dank für die Klasse. Die funktioniert bei mir fast und ich würde gerne fragen, woran es liegt und was ich ändern muss, damit es richtig funktioniert.
Code:
  Port := TCOM.Create(nil);
  Port.Baud := 2400;
  Port.Stopbits := TWOSTOPBITS;
  Port.Parity := EVENPARITY;
  Port.Databits := 7;
  Port.Open(1, RTS_DISABLED, DTR_DISABLED);
  Port.Send(PChar(Message), Length(Message)*2);
  Port.Close;
  Port.Free;
Message wird auf AnsiString(#75#54#13#10); festgelegt, was K6CRLF bedeuten sollte. Mein Sniffer, den ich am COM zwecks Tests dran hängen habe, zeigt dabei K[]6[]CR[]LF[]. Was [] ist, sagt er nicht weiter, wobe ich das Nullbyte vermute (wenn ich AnsiString(#00) sende, zeigt der Sniffer genau [] an).
Anscheinend hängt der an jedes übertragene Zeichen irgendwas an, wie kann ich das verhindern?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: TSerial - RS232 ansprechen

  Alt 15. Aug 2012, 16:23
Delphi >= 2009 ??
Nimm für seriell AnsiString, AnsiChar, PAnsiChar etc ...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
hadschi92

Registriert seit: 25. Okt 2006
83 Beiträge
 
Delphi XE3 Professional
 
#8

Re: TSerial - RS232 ansprechen

  Alt 4. Jun 2009, 17:12
Ok, es funktioniert jetzt einigermaßen. Schließe ich eine LED zwischen Pin 3 (Sendedaten) und Pin 5 (Ground) so leuchtet die LED wenn ich meine Funktion anschalte und wenn ich sie wieder deaktiviere, dann leuchtet die LED nicht mehr. Schließe ich die LED jedoch verkehrt herum an, dann leuchtet sie immer, auch wenn kein Signal gegeben werden sollte.

Ich werde noch irgendwann ausprobieren, ob man verschiedene Signale geben kann, denn bei einem 0-Bit wird anscheinend eine positive Spannung abgegeben und bei einem 1-Bit eine negative Spannung. Vielleicht wird das aber auch von Stopbits und anderen Bits die mitgesendet werden überdeckt.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.779 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: TSerial - RS232 ansprechen

  Alt 4. Jun 2009, 17:46
Zitat von hadschi92:
Ok, es funktioniert jetzt einigermaßen. Schließe ich eine LED zwischen Pin 3 (Sendedaten) und Pin 5 (Ground) so leuchtet die LED wenn ich meine Funktion anschalte und wenn ich sie wieder deaktiviere, dann leuchtet die LED nicht mehr. Schließe ich die LED jedoch verkehrt herum an, dann leuchtet sie immer, auch wenn kein Signal gegeben werden sollte.
.. das mag daran liegen, dass die Logische Eins auf -12V liegt und die
logische Null auf +12V.

Du solltest aber vorsichtig damit sein, Verbraucher direkt an die Schnittstelle anszuschließen.
Du solltest zumindest eine galvanische Trennung haben - das ist in manchen Fälllen für den PC
überlebenswichtig.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
hadschi92

Registriert seit: 25. Okt 2006
83 Beiträge
 
Delphi XE3 Professional
 
#10

Re: TSerial - RS232 ansprechen

  Alt 4. Jun 2009, 18:10
Wann kann dies gefährlich werden, wenn Kurzschlüsse entstehen, oder wenn zu viel Spannung auf den PC kommt? Würde ein MOSFET oder ein Transistor dazu ausreichen? Diese schalten ja nur wenn negative Spannung richtig anliegt, so sollte man dann auch richtig Ströme schalten können.

Was ich jedoch schade finde, ist dass man nur eine Leitung schalten kann. Ich werde mich mal auf Conrad umsehen, ob ich nicht irgendeine Platine mit USB Interface finde, die mehr kann. Vielleicht kennt jemand von euch auch eine gute.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:15 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