Seriell eingelesene Daten in Arrays speichern

Hallo,

ich möchte seriell empfangene Daten (werden über eine C# Applikation gesendet) mit meinem Arduino einlesen und in Strings speichern. Diese sollen dann bei Bedarf abgerufen werden können:

In der Windows-Oberfläche (siehe Anhang) wird bei Auswahl der Werte wie z.B. ADx = 3, MWx =2 usw. jeweils ein für diese Auswahl hinterlegter String(nicht nur die gewählte Zahl!) über die serielle Schnittstelle gesendet. Dieser soll nun vom Arduino ausgelesen und so gespeichert werden, dass die im String enthaltenen Daten nachher eindeutig zugeordnet und im Sketch weiterverarbeitet werden können.

Leider finde ich bisher keine Lösung, wie ich dies umsetzen kann.

C# Arduino Oberfläche.jpg

Hast du den schon einen Sketch im Arduino?
Du kannst dann den String mit atoi (ascii to integer) die Daten in ein Int wandel den speicherst du dann je nach Größe in 1 oder 2 Bytes mittels HighByte und LowByte und die dann ins EEprom des Arduinos die Werte liest du dir im setup einmals aus nach dem neustart und dann hast du sie in deinem Programm.
Gruß
Der Dani

Mein Problem ist, dass ich nacheinander 9 Strings (teilweise auch nur reine Zahlen) sende und diese dann nachher im Arduino einzeln auswählen können müss.
Ich sende z.B. erst "23", dann "22", dann "EF", ...
Nun muss ich diese jeweils als eine Variable speichern, um sie dann gezielt im Arduino-Sketch zu verwenden.

Die Schwierigkeit für mich ist, die eingelesenen Daten irgendwie Variablen zuzuordnen.

Kannst du in einem Programm nicht Werte hinter deine Buchstaben Leben als EF=1 GH=2 usw.
Dann ist das Handling im Programm einfacher.
Kannst du die Daten mit den Semikolion :smiley: trennen dann könnest du die einzelnen Daten mit
http://arduino.cc/en/Serial/ReadBytesUntil
auswerteren bzw in deine Variabeln speichern.
Gruß
Der Dani

Danke, das hört sich vielversprechend an. Ich werde das mal nachher versuchen.

Wenn es Werte gibt, die in deinen Daten nicht vorkommen können, kannst du diese als Steuerzeichen gebrauchen und dem Arduino so mitteilen, in welche Variable die kommenden Daten gespeichert werden sollen.
Wenn die Daten alle Werte annehmen können, kann man sie so modifizieren, dass wieder eindeutige Steuerzeichen verfügbar sind.