Ich möchte Serial Port Listener mit GUI erstellen. Ich versuche, empfangene Daten in textBox
zu drucken. Wenn ich auf die Schaltfläche klicke, muss das Programm zuhören, alles funktioniert, aber druckt nicht in textBox
. Hier ist EventHandler
Code:C# - Serielle Schnittstelle Listening - So drucken Sie Daten in TextBox
void serialPortDataReceived(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
textBox1.AppendText(indata + "\r\n");
}
Und die Schaltfläche Code, der zu hören beginnt:
mySerialPort.BaudRate = 9600;
mySerialPort.Parity = Parity.None;
mySerialPort.StopBits = StopBits.One;
mySerialPort.DataBits = 8;
mySerialPort.Handshake = Handshake.None;
mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
mySerialPort.Open();
etwas Hilfe brauchen :)
Sie nicht UI vom DataReceivedEvent aktualisieren kann, ist es auf einem Worker-Thread gefeuert. Warum Sie keine InvalidOperationException erhalten, ist nicht offensichtlich, stellen Sie sicher, dass Sie sie nicht deaktiviert haben. –
vielleicht müssen Sie mySerialPort.ReadTimeout ändern, übrigens standardmäßig 500 ms. vielleicht 500 ist nicht genug –