AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TSerial - RS232 ansprechen

Ein Thema von Netblaster · begonnen am 6. Jun 2008 · letzter Beitrag vom 15. Aug 2012
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
LuJ

Registriert seit: 10. Sep 2008
4 Beiträge
 
Delphi 5 Standard
 
#11

Re: TSerial - RS232 ansprechen

  Alt 16. Sep 2008, 14:10
Zitat von christian_u:
Es gibt keine Möglichkeit herauszufinden ob etwas an der Schnittstelle hängt, die daten werden dann also einfach ins nirvana gesendet.
Also keine Fehlermeldung, kein Aufhängen oder derartiges?
Mist... dann machen wirs wohl nach wie vor falsch.

An diesem Punkt: "FHandle = INVALID_HANDLE_VALUE" hängt sich unser Programm jedes Mal auf.

Hätte jemand vielleicht ein kleines Anwendungsbeispiel für das Ausführen von arnold muellers Quelltext? Also was ganz simples, bspw. die Ausgabe eines Buchstaben über die serielle Schnittstelle- einfach ins Nirvana hinein, ohne jeden Sinn, einfach als Beispiel.
  Mit Zitat antworten Zitat
arnold mueller

Registriert seit: 27. Jul 2005
129 Beiträge
 
#12

Re: TSerial - RS232 ansprechen

  Alt 16. Sep 2008, 14:52
Das Beispiel sendet ein Hallo Welt über COM1 und wartet 1 Sekunde auf Antwort.

Delphi-Quellcode:

procedure TForm1.ButtonClick(Sender: TObject);
var c: Char;
    tx_buffer, rx_buffer: string;
    tick: cardinal;
begin
  tx_buffer := 'Hallo Welt!';

  with TCom.Create(nil) do
  try
    // com 1 öffnen
    if Open(1,RTS_DISABLED,DTR_DISABLED) then
    begin
      // senden
      if Send(PChar(tx_buffer),Length(tx_buffer))then
      begin
        tick := GetTickCount;

        // 1 Sekunde auf Daten warten
        repeat

           // Daten aus der Schnittstelle lesen, sofern vorhanden
           if GetChar(c) then
           begin
             rx_buffer := rx_buffer + c;
           end;

        until (GetTickCount-Tick) > 1000;
      end;
    end;
  finally
    // com 1 schließen
    Close;
    Free;
  end;
end;
-
arno
  Mit Zitat antworten Zitat
LuJ

Registriert seit: 10. Sep 2008
4 Beiträge
 
Delphi 5 Standard
 
#13

Re: TSerial - RS232 ansprechen

  Alt 17. Sep 2008, 12:13
Danke, wunderbar!
Das Beispiel hilft uns schonmal extrem viel weiter, wir habens jetzt soweit, das unsere Kommunikation einseitig funktioniert- also setzen wir uns ans Nächste...

...d.h. ich melde mich sicher bald nochmal mit weiteren Fragen ;9
Danke schonmal für eure bisherige Geduld!
  Mit Zitat antworten Zitat
Benutzerbild von zebrafalke
zebrafalke

Registriert seit: 25. Feb 2006
155 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: TSerial - RS232 ansprechen

  Alt 7. Nov 2008, 13:50
Hallo,
ich mache auch gerade was mit Microcontrollern und habe die unit oben auch mal ausprobiert. Sie funktioniert mit dem Beispielcode von arnold mueller auch sehr gut. Jetzt möchte ich aber nicht, wie im Beispiel, 1 Sekunde auf Daten warten, sondern dauerhaft auslesen um dann z.b. bei bestimmten gesendeten zeichen einzelne daten aus dem datenstrom entnehmen. Hat da jemd eine Idee, ob/wie sich das bewerkstelligen ließe?

Gruß
zebrafalke
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: TSerial - RS232 ansprechen

  Alt 7. Nov 2008, 17:00
Hallo zebrafalke,

es gibt noch bei Sourceforge die Komponente Async Professional mit der man eigentlich sehr gut die Serielle Schnittstelle auslesen kann. Dort sind unter anderem auch Demos mit dabei.

Du hast jetzt nicht genau geschrieben welche Daten (in welcher Form) die Daten anfallen.
Aber ich postuliere mal, dass das mit dieser Komponente gehen müsste.

Async Professional

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
 
#16

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.858 Beiträge
 
Delphi 11 Alexandria
 
#17

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
 
#18

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
 
#19

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.755 Beiträge
 
Delphi 10.4 Sydney
 
#20

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
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


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 00:02 Uhr.
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