Forum: PC-Programmierung C# Seriell 3 Werte lesen


von Jan (Gast)


Lesenswert?

Hallo,
ich habe ein problem. ich möchte mit c# ein programm schreiben, welches 
3 ADC werte empfängt und in 3 variablen schreibt.
Das Programm für Atmega ist in Bascom geschrieben. Das senden vom atmega 
sieht wie folgt aus:

PRINT Wert1; Wert2; Wert3

Also direkt hintereinander weg. wie schaffe ich es diese drei 10 Bit 
großen werte in mein programm einzulesen
Vielen dank schonmal :)
jan

von Frederik K. (n0ll4k)


Lesenswert?

Am besten erstmal in nem Puffer zwischenspeichern. Senden wirst du das 
ja wahrsscheinlich als 6 * 8 Bit Werte.

Diese setzt du dir dann wieder zu einer Zahl zusammen und kannst diese 
dann in deinem C# Programm nach Belieben weiterverarbeiten.

von Jan (Gast)


Lesenswert?

wie speichert man sowas denn in ein buffer?

von Jan (Gast)


Lesenswert?

ich benutze die serialport componente in c#

von Frederik K. (n0ll4k)


Lesenswert?

Ein Buffer wäre bei dir zum Beispiel ein Array in dem du die 
eingelesenen Werte ablegst um sie dann nachher weiterzuverarbeiten.

von Jan (Gast)


Lesenswert?

So, zum einlesen in das array hab ich jetzt folgendes


private void serialPort1_DataReceived(object sender, 
System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            byte[] arr1 = new byte[] { 1, 2, 3, 4, 5, 6 };
            serialPort1.Read(arr1,0,6);
        }


nur damit ich das verstehe, ich hab jetzt 6 bytes die arr1, arr2, usw 
heißen?
und funktioniert das mit dem was ich mir da zusammen getragen hab?

von Frederik K. (n0ll4k)


Lesenswert?

Das Array solltest du global definieren, damit du auch von deinem ganzen 
Programm darauf zugreifen kannst.

Dann müsste es eigentlich funktionieren. Hab jetzt allerdings länger nix 
mehr mitm Serial Port machen müssen.

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
Noch kein Account? Hier anmelden.