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
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.
Ein Buffer wäre bei dir zum Beispiel ein Array in dem du die eingelesenen Werte ablegst um sie dann nachher weiterzuverarbeiten.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.