DTR- und RTS- Leitung mit Visual Basic setzen

Gast #385498
Lesenswert?

Hallo zusammen,

momentan beschäftige ich mich mit der seriellen Schnittstelle. Um Daten
zu senden und zu empfangen (Tx/Rx) verwende ich das XMComm- Modul von
Richard Grier. Mein Problem besteht nun darin, dass ich für meine
Anwendung die RTS- und DTR- Leitung ansteuern muss. Microsoft zeigt
zwar wie man die Leitungen enablen und disablen kann, aber nicht wie
ich die Leitung High/Low setzen kann.

Ich hoffe, dass mir hier irgend jeman weiterhelfen kann. Weiss jemand
wie das funktioniert? Oder geht das gar nicht?

Vielen Dank schon im Voraus für eure Bemühungen!

Der Gast
Gast #385499
Lesenswert?

Ich habe gerade in einem anderen Forum ein C- Code gefunden, mit welchem
die RTS- Leitung gesetzt werden kann. Dies scheint relativ einfach zu
funktionieren. Weiss jemand wie man diesen Code in VB übersetzt? Oder
kennt jemand einen ähnlichen Code in VB? Das müsste doch auch mit VB
realisierbar sein.

Hier noch der C- Code:

#include <windows.h>

int main (void)
{
   HANDLE hPort;

   hPort =  CreateFile ("COM1",
      GENERIC_WRITE,
      0,
      0,
      OPEN_EXISTING,
      0,
      0);

   EscapeCommFunction (hPort, SETRTS); // RTS setzten
   Sleep (2000);
   EscapeCommFunction (hPort, CLRRTS); // RTS rücksetzten
   Sleep (2000);
   EscapeCommFunction (hPort, SETRTS); // RTS setzten
   Sleep (2000);

   CloseHandle (hPort);

   return (0);
}
Gast #385500
Lesenswert?

Du solltest dir darüber klar werden ob du ein Handshakeprotokoll
benutzt
(dann wird die DTR/RTS automatisch bei richtiger Protokollwahl
gemacht)
oder ob du die Leitungen selber setzen willst.
>Weiss jemand wie man diesen Code in VB übersetzt? Oder
>kennt jemand einen ähnlichen Code in VB? Das müsste doch auch mit VB
>realisierbar sein

Ist alles in der MSDN hervorragend erklärt. Sogar mit Beispielen. Must
du nur noch rauskopieren.
Gast #385501
Lesenswert?

Ich möchte die Leitungen selber setzen. In der MSDN ist einfach erklärt,
wie man die Leitungen enabled, aber nicht wie man sie High/Low setzt.
Programmbeispiele gibt es für den "normalen" Gebrauch, mit Rx und Tx.
Gast #385503
Lesenswert?

>In der MSDN ist einfach erklärt,
>wie man die Leitungen enabled, aber nicht wie man sie High/Low setzt
bei RS232 gibt es kein High/low sondern nur Mark/Space
in der MSDN gibt es einen Artikel wie man in VB die ganzen C Funktionen
der seriellen benutzt.
Gast #385505
Lesenswert?

>Könntest du mir noch schreiben, wie dieser Artikel heisst. Das würde
>mir die Suche etwas erleichtern
das ist keine Suche das ist kopieren...
Der effektive Umgang mit der Hilfe deiner Programmiersprache ist eine
der wichtigsten Sachen die du lernen solltest. Dies ist das erste was
man selbst macht, bevor man ein Forum benutzt. Auch die Suchfunktion
des Forum ist eine sehr wichtige Hilfe und glaube mir da wirst du mehr
als fündig. Das Thema Serialport kommt nämlich immer wieder auf, sobald
es von der ersten Seite verschwunden ist.
Also effektive Suchworte wären SerialPort ,VB ,Visual Basic
Auf den Artikel wurde schon mehrfach in diesem Forum hingewiesen.
und auch unter Codeguru wirst du fündig.
Die Benutzng von C Funktionen in Visual Basic findest du in VB-Büchern
gewöhnlich unter Systemprogrammierung. Wenn du diese benutzen willst
schau dir DCB, und CreateFile an.
Ansonsten gibt es in VB2005 auch eine sehr leistungsfähige Serialport
klasse.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren