![]() |
Re: TSerial - RS232 ansprechen
Zitat:
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. |
Re: TSerial - RS232 ansprechen
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 |
Re: TSerial - RS232 ansprechen
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! |
Re: TSerial - RS232 ansprechen
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 |
Re: TSerial - RS232 ansprechen
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. ![]() Bis bald Chemiker |
Re: TSerial - RS232 ansprechen
´Hallo!
hab mal ne frage und zwar is da ne funktion dabei, die mir sagt ob an irgeneinem pin ein signal anliegt? |
Re: TSerial - RS232 ansprechen
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 |
Re: TSerial - RS232 ansprechen
Vielen Dank!
|
Re: TSerial - RS232 ansprechen
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:
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?
procedure TForm1.Button1Click(Sender: TObject);
var Zeichen : char; begin if Button1.Caption = 'Start' then 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 = 'Stop' do 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; 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:
|
Re: TSerial - RS232 ansprechen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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