PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bitweise operationen mit dem COM-PORT



mojo777
29.08.2006, 11:03
hallo,
ich habe mich heute an die steuerung eines comports gesetzt, und musste feststellen, dass viele komponenten (delphi) zwar das lesen und schreiben anbieten, dieses sich aber immer auf die standardbelegung von leitungen bezieht und dann auch noch die baudrate beachtet...
ich brauche aber eine bitweise kommunikation mit dem ding...
will das im polling betrieb auslesen und dann steuern.

konkretes bsp:
Txt, Rxd, DSR sollen ausgelesen werden und auf
RI und RTS soll geschrieben werden.

wäre super, wenn mir jemand ein par tipps im bezug auf delphi geben könnte...
C wäre auch ok. :-P

danke!

gruß

Vogon
29.08.2006, 12:00
Guggst du mal da:
http://forum.electronicwerkstatt.de/phpBB/topic59153_f34_bxtopic_timexDESC_by2_bz30_bs0.html

Auf RI kannst du nichts ausgeben !

RI Ring Indicator Das Gerät zeigt dem PC an, dass ein Anruf ankommt ("ring" ist engl. für "klingeln"; besonders bei Modems) Pin 22 Pin 9 In

PicNick
29.08.2006, 12:04
Das spielt sich bei Windows im Bereich GetCommState, SetCommMask, etc. ab
das wird sich auch für Delphi finden lassen.
Vielleicht hilft dir das ?

mojo777
29.08.2006, 12:21
@vogon, vielen dank für den link. das scheint genau das zu sein, was ich brauche. :-)

picnick, ja GetCommState etc. das sind windows( in meinem fall..) schnittstellen und da kann ich nicht rein gucken...



dank euch! :-)

mojo777
29.08.2006, 13:44
ok. habs mir nun genau angeschaut.... die datei aus dem forum bringt nicht so viel..... :-(
das ding regelt relais mit impulsen...
gibts denn nix gescheites zu nachschauen von
if (comPort.Line.RxD.OnHigh) {do viel spass...}; ????????
argh....

Skilltronic
31.08.2006, 13:13
Hallo

Wie es in Delphi oder C funktioniert, weiss ich leider nicht. In QBasic kann man mit den Befehlen OUT und INP() direkt auf die Steuerregister des COM-Ports zugreifen und einzelne Bits setzen bzw. lesen. So kann man alle Leitungen ausser TxD ansprechen. Vielleicht findest du entsprechende Befehle für Registeroperationen in Programmiersprachen, die dir mehr liegen.

Gruss
Skilltronic

philiph
05.09.2006, 22:33
schon mal auf www.delphipraxis.netgesucht da findet man einiges oder melde dich nochmal den schicke ich dir mal ein paar bsps.

mojo777
06.09.2006, 10:34
:-#
hehe.
die seite kenn ich ganz gut. ;-)

AVRBot
12.09.2006, 11:07
Hallo,
eine Möglichkeit wäre auch die Port.dll, siehe folgenden Link:
http://www.the-starbearer.de/Praxis/ElektronikamPC/RS232/portdll.htm

Damit kann man beides machen, sowohl normales senden als auch das einzelne Setzen und Auslesen von Pins.

Grüße David

AVRBot
12.09.2006, 11:09
Hallo,
ich bin es noch mal. Beim oben angegebenen Link muss man auf den vorderen Teil klicken, dann wird die richtige Seite aufgerufen. Irgendwie wurde der Link geteilt.

Grüße David