Hallo Leute, da ich mit der Suchenfunktion nur mehr verwirrt wurde als geholfen, möchte ich bezüglich "Empfang and der RS232" nochmal einen neuen Beitrag anfangen. Ich verwende VB.NET 2005 mit Framework 2.0 und ich bin gerade dabei über die RS232 (System.io.ports) zu kommunizieren. Es ist mir gelungen Byte´s an einen Controller zu senden (write), doch leider gelingt mir der Empfang nicht wirklich. Ich würde gerne das Event:"DataReceived" verwenden, doch leider hängt er sich immer auf. Ich habe es auch schon per Button versucht die Daten zu empfangen, doch leider funktioniert das auch nicht. Wie gesagt senden funktioniert, empfangen nicht. Hir der stand der Dinge: Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim Wert As Byte Wert = SerialPort1.ReadLine txtInput.Text = Wert End Sub Lg grex
Ja hab ich mit einem Terminalprogramm mehrmals erfolgreich probiert. Mit dem Terminalp. funktionierts einwandfrei. lg grex
Was meinst du mit "hängt sich auf"? Was passiert dabei? Werden keine Exceptions geworfen? Hast du bei der Initialisierung des serialPorts den Eventhandler für DataReceived hinzugefügt? Ich verwende ebenfalls die serialPort-Klasse des .Net 2.0 nur halt in C# und der DataReceived Eventhandler funktioniert einwandfrei. Hier ein paar Codeschnipsel (vielleicht hilfts). <CODE> // Initialisierung this.serialPort1.ParityReplace = ((byte)(0)); this.serialPort1.PortName = "COM2"; this.serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.serialPort1DataRecei ved); ... ... // DataReceived Eventhandler void serialPort1DataReceived(object sender, System.EventArgs e) { byte[this.serialPort1.BytesToRead] buffer; this.serialPort1.Read(buffer, 0, this.serialPort1.BytesToRead); this.richTextBox1.AppendText("Empfangen: "+buffer.ToString()); }
Hallo Slowflyer, nein den "Eventhandler habe ich nicht hinzugefügt. Wofür ist der? Wo fügt man den ein? (ev. jemand ein Bsp. in VB.NET?) LG
Wie man einen Eventhandler in VB bekannt macht weiss ich nicht, da hilft aber oft die MSDN weiter. http://msdn2.microsoft.com/en-us/library/system.io.ports.serialport.datareceived.aspx
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.