Hallo und guten Abend liebe Adruino Gemeinde,
vorab die Info das ich absoluter Anfänger bin was die C-Sprache betrifft. Bei mir ist es ein ehr ein ausprobieren "was passiert wenn" ja so sind die 53 Jahre alten Männer
Nun bin ich aber an einen Projekt wo sich meine Unwissenheit rächt.... Daher hoffe ich das ihr mich ein wenig unterstützt.
Zum Projekt:
Es ist ein Computer der folgenden String an einem Stück im ASCII Code an die Serielle Schnittstelle raus gibt. Unter umständen kann das jede Sekunde sein und dabei schickt er den kompletten String.
BRZ:6,777;BRF:TEXT;BRS:4;AR1:0;RZ1:0,000;F1:TEXT;AR2:0;RZ2:0,000;F2:TEXT;AR3:0;RZ3:0,000;F3:TEXT;AR4:0;RZ4:0,000;F4:TEXT;
Diesen möchte ich nun am Mega Port2 einlesen an Port 3 weitergeben sowie teilen. Im Grunde benötige ich nur die Daten nach dem Doppelpunkt. Diese können Kommazahlen sowie Text enthalten.
Als Ahnungsloser habe ich mir erst mal ein gebastelt....
#include <stdio.h>
#include <string.h>
void setup()
{
Serial.begin(9600);
Serial2.begin(9600);
char* value;
value="BRZ:6,777;BRF:TEXT;BRS:4;AR1:0;RZ1:0,000;F1:TEXT;AR2:0;RZ2:0,000;F2:TEXT;AR3:0;RZ3:0,000;F3:TEXT;AR4:0;RZ4:0,000;F4:TEXT;";
char* token = strtok(value, ":;");
char* Wert1 = token;
token= strtok(0, ":;");
char* Wert2 = token;
token = strtok(0, ":;");
char* Wert3 = token;
token = strtok(0, ":;");
char* Wert4 = token;
token = strtok(0, ":;");
char* Wert5 = token;
token = strtok(0, ":;");
char* Wert6 = token;
token= strtok(0, ":;");
char* Wert7 = token;
token = strtok(0, ":;");
char* Wert8 = token;
token = strtok(0, ":;");
char* Wert9 = token;
token = strtok(0, ":;");
char* Wert10 = token;
token = strtok(0, ":;");
char* Wert11= token;
token = strtok(0, ":;");
char* Wert12 = token;
token = strtok(0, ":;");
char* Wert13 = token;
token = strtok(0, ":;");
char* Wert14= token;
token = strtok(0, ":;");
char* Wert15= token;
Serial.print("Bezeichnung-1 ");
Serial.println(Wert1);
Serial.print("Bezeichnung-2 ");
Serial.println(Wert2);
Serial.print("Bezeichnung-3 ");
Serial.println(Wert3);
Serial.print("Bezeichnung-4 ");
Serial.println(Wert4);
Serial.print("Bezeichnung-5 ");
Serial.println(Wert5);
Serial.print("Bezeichnung-6 ");
Serial.println(Wert6);
Serial.print("Bezeichnung-7 ");
Serial.println(Wert7);
Serial.print("Bezeichnung-8 ");
Serial.println(Wert8);
Serial.print("Bezeichnung-9 ");
Serial.println(Wert9);
Serial.print("Bezeichnung-10 ");
Serial.println(Wert10);
Serial.print("Bezeichnung-11");
Serial.println(Wert11);
Serial.print("Bezeichnung-12");
Serial.println(Wert12);
Serial.print("Bezeichnung-13 ");
Serial.println(Wert13);
Serial.print("Bezeichnung-14");
Serial.println(Wert14);
Serial.print("Bezeichnung-15");
Serial.println(Wert15);
}
void loop()
{
}
Nun meine Frage an euch, wie bekomme ich es hin das die Daten der Serielle2
im Beispiel oben "value" ersetzt.
Bin für jeden Tipp dankbar.
Thorsten der Ahnungslose