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.