DataReceived Evenet funktioniert nicht

Gast #386819
Lesenswert?

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
Gast #386822
Lesenswert?

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());
}

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