C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| private void Serial_Received(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { RxString = serialPort1.ReadByte(); this.BeginInvoke(new EventHandler(DoUpdate)); i++; if (i == 600) { this.Invalidate(); i = 0; }
} private void DoUpdate(object s, EventArgs e) { Echo[i] = RxString; } protected override void OnPaint(PaintEventArgs e) { } |
Hallo zusammen,
ich weiß nicht mehr weiter.
Ich will Daten (Byte-Werte 0-255), welche von einem µC gesendet werden, lesen. Zuerst sende ich eine Byte-Kombination, dadurch wird i auf 0 gesetzt. Dann kommen meine 600 Byte. Mit einem Terminal-Programm sieht man, dass die Daten korrekt gesendet werden.
Allerdings funktioniert mein C#-Programm nicht so toll. Könnt ihr mal draufschauen, ob man es so machen kann?? Er zeichnet die Kurve der Messdaten (in ECHO) am Anfang 5-6 mal richtig, dann liest er nur noch falsch. Daten werden aber weiterhin richtig gesendet.
Muss dann PortClose() und PortOpen() machen,dass es wieder einigermaßen klappt.
HILFE !
Moderiert von Narses: C#-Tags hinzugefügt