Autor Beitrag
grabl
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 05.04.11 09:51 
ausblenden 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.ReadLine();
            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)
        {
// Daten in Echo[] zeichnen
        }


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 user profile iconNarses: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 05.04.11 10:38