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
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); }
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.
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.
Du hast das Beispiel eh oben. Das steht prinzipiell alles drin was du brauchst. CreateFile ist eine normale Funktion aus der WinAPI. Beispiele dafür gibts en masse. Selbiges gilt für die EscapeComm. Müsste eigentlich in der kernel32.dll zu finden sein.
>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.
Könntest du mir noch schreiben, wie dieser Artikel heisst. Das würde mir die Suche etwas erleichtern. Vielen Dank für eure Antworten! Der Gast
>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.
Warum nimmst du nicht die MSCOMM.OCX? Da kannst du mit den Steuerleitungen machen was du willst.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.