Hallo Community, ich habe erfolgreich einen Mikrocontroller dazu gebracht, per serielle Schnittstelle Daten an PC zu senden. Dies funktioniert zuverlässig und ich kann sie problemlos in einem Terminalprogramm empfangen. Nun wollte ich auf die schnelle eine GUI in VB2008 basteln und offensichtlich scheitere schon beim Port-Öffnen? Eine Form reingezogen, ein SerialPort reingezogen und seine Eigenschaften an die gegebenen Kommunikation-Einstellungen angepasst; siehe Attachment. "If" zeigt dass Port nicht geöffnet wurde und "Data received" Ereignis zündet nicht. Bitte noch nichts erweitern sondern mir klar machen was ich auf dieser Etappe falsch mache? Danke voraus Michal
Falls noch nicht gefunden, an passender Stelle mal Dim ports As String() = SerialPort.GetPortNames() einfügen und einen Breakpoint setzen...
Hallo, also jetzt habe ich das Problem auf's minimalste reduziert: Public Class MainForm Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim ports As String() = IO.Ports.SerialPort.GetPortNames() MsgBox(ports) End Sub End Class zeigt kein MsgBox, obwohl ich ich einen "COM2: USB Serial Port (COM2)" habe und im Terminalprogramm kommuniziere. (Natürlich trenne ich ihn im Terminalprogramm vor dem VB2008 Versuch). Ideen? Ich nutze Vista mir VB2008Express, Serial Port wird mit einem FTDI Chip gemacht. Grüße Michal
Michal schrieb: > zeigt kein MsgBox, obwohl ich ich einen "COM2: USB Serial Port (COM2)" > habe und im Terminalprogramm kommuniziere. dann wird dein code nicht ausgeführt, denn die MsgBox muss immer kommen. Setze doch einfach mal ein Breakpoint.
Ok, es geht noch kleiner: hier kommt auch kein MsgBox. Was ist da falsch? Nur die MainForm wird gezeigt, also wird auch geloaded Dann sollte also MsgBox zünden? Public Class MainForm Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) MsgBox("Hallo") End Sub End Class
Fehlt da nicht der Eventhandler bei dem es "zünden" soll? z.B. " Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load" Bin schon nen bischen länger aus Vb raus - früher war es auf jeden Fall mal so ;-)
Yess, das ist es! "Handles" vergessen, danke, super jetzt komme schon weiter! Grüße Michal
Wenn gesagt wird, dass der Port nicht offen ist, öffne ihn doch mit SerialPort.Open() Oder hab ich jetzt was nicht verstanden?
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.