Hallo,
für mein Projekt möchte ich Daten von einer SD Karte auslesen und dann verschiedenen Variablen zuweisen.
Das Auslesen funktioniert soweit auch schon, allerdings bekomme ich die Daten nicht getrennt. Als Trennzeichen habe ich ; verwendet.
Der Sketch sieht folgendermaßen aus.
char Einstellungen;
byte _sentencePos = 0;
byte _comma_count = 0;
char msg_field ;
void setup() {
while (!Serial);
Serial.begin(9600);
Einstellungen = "1;5;30;";
}
void loop() {
for (int i=0; i<=7; i++)
{
if (Einstellungen[_sentencePos] == ';')
{
_comma_count++;
// msg_field[_comma_count] = "";
_sentencePos++;
}
else
{
msg_field[_comma_count] += Einstellungen[_sentencePos];
_sentencePos++;
}
}
Serial.println(Einstellungen);
Serial.println(msg_field[0]);
Serial.println(msg_field[1]);
Serial.println(msg_field[2]);
delay(10000);
}
Es wird folgender Fehler angezeigt.
Arduino: 1.8.10 (Windows 10), Board: "Arduino/Genuino Uno"
Char_trennen:4:5: error: 'msg_field' does not name a type
msg_field[_comma_count] = "";
^~~~~~~~~
C:\Users\XXX\Documents\Arduino\Char_trennen\Char_trennen.ino: In function 'void setup()':
C:\Users\XXX\Documents\Arduino\Char_trennen\Char_trennen.ino:11:19: warning: invalid conversion from 'const char*' to 'char' [-fpermissive]
Einstellungen = "1;5;30;";
^~~~~~~~~
C:\Users\XXX\Documents\Arduino\Char_trennen\Char_trennen.ino: In function 'void loop()':
Char_trennen:22:39: error: invalid types 'char[byte {aka unsigned char}]' for array subscript
if (Einstellungen[_sentencePos] == ';')
^
Char_trennen:30:13: error: 'msg_field' was not declared in this scope
msg_field[_comma_count] += Einstellungen[_sentencePos];
^~~~~~~~~
Char_trennen:30:66: error: invalid types 'char[byte {aka unsigned char}]' for array subscript
msg_field[_comma_count] += Einstellungen[_sentencePos];
^
Char_trennen:37:16: error: 'msg_field' was not declared in this scope
Serial.println(msg_field[0]);
^~~~~~~~~
exit status 1
'msg_field' does not name a type
Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
Es scheint also das Format des Chars nicht zu stimmen, aber genau werde ich daraus nicht schlau.
Vielen Dank schonmal für Eure Hilfe.