![]() |
Com Port auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich habe zwar schon im Forum gesucht, aber nicht das richtige gefunden.... Ich habe eine über USB angeschlossene 10 Bit 8 Kanal - Karte, mit der man die Spannung von den 8 Pins einlesen kann. Da mir das Demo-Programm ein bisschen mager ist, wollte ich mir selber eins in Delphi schreiben. :-D ABER WIE??? :gruebel: Hatte mich schon mal mit dem Seriellen Port auseinandergesetzt, aber wie lese ich die Bit's ein oder sende welche..... Hoffe einer von euch hat davon Ahnung. Gruß Masteric PS: Hab im Anhang mal die Anleitung angehängt. |
Re: Com Port auslesen
Zitat:
such hier mal nach der Komponente CPort, damit geht das eigendlich ganz leicht. Wird diese USB-Karte als COM angezeigt (Treiber?) |
Re: Com Port auslesen
sry, die datei wurde irgendwie nicht hochgeladen, ich habe jetzt eine kleinere Version mit allem wichtigen, was die Anleitung hergibt hochgeladen, und die USB Karte ist ein virtueller Com Port.
Gruß Masteric |
Re: Com Port auslesen
Dann würde ich mal im Gerätemanager schauen welcher COM Port das ist.
Dann kannst du das in CPort einstellen, Baudrate usw und dann dannst du ihm eben 's5' usw schicken. edit: ![]() |
Re: Com Port auslesen
kannst du mir sagen, wie ich die installen soll. Ich bekomm das nicht so ganz hin....
Gruß Masteric |
Re: Com Port auslesen
1) Bibliothek runterladen
2) In sources.zip sind die benötigten Units. Diese entweder in den Ordner von deinem Projekt entpacken oder in einen beliebigen Ordner, dann aber als Such-Pfad von Delphi diesen Ordner angeben. 3) In die Uses kommt CPort, CPortCtl 4) Variable deklarieren, am besten als Feld einer Klasse:
Delphi-Quellcode:
5) Ereignis festlegen
private
ComPort: TComPort;
Delphi-Quellcode:
6) Instanz erzeugen, zB im Constructor der Klasse / onFormCreate
private
ComPort: TComPort; procedure ComPortRxChar(Sender: TObject; Count: Integer); {...} procedure TKlasse.ComPortRxChar(Sender: TObject; Count: Integer); var MyStr: String; begin ComPort.ReadStr(MyStr, Count); showmessage(MyStr); end;
Delphi-Quellcode:
7) Befehl senden
ComPort := TComPort.Create(self);
ComPort.OnRxChar := ComPortRxChar; ComPort.Port := 'COM1'; // Im Gerätemanager nachgugn! ComPort.BaudRate := br115200; ComPort.StopBits := sbOneStopBit; ComPort.Open;
Delphi-Quellcode:
8) Freuen
ComPort.WriteStr('s5');
9) Freigeben nicht vergessen Es kann sein das das Ereignis ComPortRxChar mehrmals aufgerufen wird und nur jeweils die hälfte der Informationen enthält... Außerdem sind in dem runtergeladenen ZIP auch Beispiele dabei. |
Re: Com Port auslesen
schonmal großen DANK! :thumb:
Gruß Masteric |
AW: Com Port auslesen
Hallo,
ich bin gerade dabei eine Software zur Ansteuerung eines Messgerätes mit der TcomPort Komponente zu realisieren. Über google bin ich hier auf dem Post gelandet. Kann mir einer sagen warum das Ereignis ComPortRxChar mehrmals aufgerufen wird? Meine Empfangene Daten, die mir das Messgerät sendet, sind ca 450 zeichen lang. Liegt dass an der Komponente oder an meinem Messgerät? oder hab ich was vergessen einzustellen? Danke euch für eure Hilfe |
AW: Com Port auslesen
Der Event scheint, dem Namen nach, auch pro Zeichen getriggert zu werden.
|
AW: Com Port auslesen
Hallo,
danke für deine rasche Antwort! das ist schon richtig aber es sollte eigentlich nur einmal ausgelöst werden, weil das Gerät den String von ca 450 zeichen auf einmal überträgt. ich habe das Problem, das dass Event 2 mal ausgelöst wird. Beim ersten mal kommen so ca 8 Zeichen(+-2) dann die restlichen zeichen. Kann es irgendwie am Speicher liegen. Benutze Delphi 2006 Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:53 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 by Thomas Breitkreuz