hallo zusammen! also ich bin schon den ganzen tag am stöbern im internet und komme nicht weiter. ich will, wie so viele. den com-port aus visual basic.net ansprechen. ich bin schon so weit, dass ich es mit der Windows API versucht habe. anleitung unter http://www.microsoft.com/germany/msdn/library/net/vbnet/SerielleSchnittstelleMitVBNETAnsprechen.mspx mein problem ist allerdings, das ich beim importieren der dll-funktionen folgende gehlermeldungen auftauchen: - Der Typ DCB ist nicht definiert - Der Typ COMMTIMEOUTS ist nicht definiert - Der Typ OVERLAPPED ist nicht definiert was muss ich da machen? im tutorial steht nichts weiter dazu :-( hoffe mir kann jemand helfen Tabi
also ich habe einen Code gefunden, den ich einbinden kann: http://spotlight.de/nzforen/amvb/m/amvb-1114334700-32022.html allerdings bekomme ich immer einen Fehler, wenn ich den Port öffnen will. Der Code dazu: Dim moRS232 As New Rs232() Try With moRS232 .Port = 2 .BaudRate = 9600 .DataBit = 8 .StopBit = Rs232.DataStopBit.StopBit_1 .Parity = Rs232.DataParity.Parity_None .Timeout = 500 End With moRS232.Open() Catch ex As Exception Console.WriteLine(ex.Message & ex.StackTrace) Console.WriteLine("ISOPEN:" & moRS232.IsOpen.ToString()) End Try Was merkürdig ist, dass der Port aber offen ist. Es lässt sich nur der ComStatus nicht richtig einstellen. Weiß da jemand was zu?
Hallo Tabaluga, Du solltest den MSDN Artikel bis zum Ende durchlesen. Da steht alles drin, auch die Deklaration von DCB und COMMTIMEOUTS. CU Wolfram
Ja, das hab ich auch schon entdeckt. Ich bin in der Programmiersprache noch etwas neu und unerfahren... Ich hab den Code jetzt soweit aufgebeut, aber immer wenn ich den Port öffnen will, wird eine Exeption geschmissen von SetCommState(...) in der Open() methode. Ich habe den Code von http://spotlight.de/nzforen/amvb/m/amvb-1114334700-32022.html genommen und mit dem von MSDN verglichen. Ist nahezu identisch, nur andere Bezeichnungen und einige Exeption-Abfragen mehr. Kann mir da jemand helfen, bzw. wo bekomme ich genauer Informationen her, wie ich mit SetCommState(...) genau umgehe und welche Rückgabewerte diese Funktion zurück liefert? Hoffe ich bekomme den COM-Port endlich mal zum laufen... Tabi
Schau mal nach was dir CreateFile zurückliefert. Das muss ungleich -1 sein sonst ging der Port nicht auf und du kannst den Rest vergessen. probier mal ein WriteFile danach und schau dir den Rückgabewert und die geschriebenen Bytes an. Die Beschreibungen sämtlicher Funktionen mit Rückgabewerten findest du in der MSDN. Da solltest du den Filter für Visualbasic rausnehmen ;-) Es sind windows32 API funktionen die gewöhnlich aus C aufgerufen werden. Hier im Forum gibt es einige Anfragen dazu. Wenn du sie verwendest solltest du sehr genau verstanden haben was du tust. Da du schreibst das du noch etwas neu in der Programmiersprache bist, schau mal in ein etwas dickeres Visual Basic Buch rein Kapitel Windows Systemprogrammierung. Solltest du die serielle Schnittstelleprogrammierung nicht verstehen wollen, sondern sie nur nutzen wollen, so solltest du dir eher die Threads im Forum zu serielle Schnittstelle und C# anschauen. Da findest du mit Sicherheit ein Object was dir die ganzen Probleme vom Hals hält und dich schneller zum Ziel bringt. Wenn du Probleme haben solltest den C# Code zu lesen, die Entwicklungsumgebung SharpDevelop bietet eine Konvertierung von VB zu C# und andersrum. CU Wolfram
Hallo Tabaluga, schau mal unter: www.codeworks.it/net/index.htm Hier wird auch eine komplette VB.NET-Klasse für den Zugriff auf die serielle Schnittstelle angeboten. Soweit ich das überblickt habe (ich hab eigentlich fast keine Ahnung von VB, sondern arbeite normalerweise mit C-Sprachen), ist die echt sauber und umfangreich programmiert und wird wohl auch permanent weiterentwickelt. Als Alternative kannst Du Dir mal die .NET Framework 2.0 Beta anschauen. Bei Microsoft gibts auch schon die Visual Basic 2005 Express Edition Beta unter http://lab.msdn.microsoft.com/express/ zum download. Unter .NET 2.0 gibt es mittlerweile die Klasse System.IO.Ports.SerialPort, die den Zugriff auf den COM-Port kapselt. Gruß Roland
Super! Danke für eure Antworten. Jetzt hab ich mal ne Vorlage, die hoffentlich auch funktioniert. Ich werde mir das mal die Tage angucken. Habe grad nicht all zu viel Zeit dafür :-( Aber gaanz vielen Dank an euch beiden!!! Taib :-)
HALLO Tabaluga ich versuche Längst mit VB 6.0 die comport zu öffnen immer erfolglos ich habe mehrere code by Microsoft.com probiert aber er taucht immer ein laufzeitfehler. du hast vermutlich die sache schon hingekriegt. bitte kannst du deine beispiele code an dieser Mail adresse (botchakbrice@yahoo.fr) schicken. Danke
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.