String zusammenfügen

Ich möchte eine ganz einfache Aufgabe lösen aber sitze schon seit Stunden dran: Zwei über die serielle Schnittstelle übertragene Zeichen (char) zusammenfügen als ein String. Z.B.: String[5] += (DT[28], DT[29]); wobei DT[28], DT[29] ein einzelnes char ist. Aber ich erhalte ständig Fehlermeldungen, egal wie ich das auch drehe irgendwas ist inkompatibel. Hat jemand vielleicht eine Lösung? :o

Schaue Dir mal ein paar Grundlagen zu Zeichenketten an.

Gruß Tommy

Try Arduino Strings

String result;
result = (char)DT [28];
result += (char)DT [29];
Serial.println(result);

Or my SafeString library (available from the library manager). Detailed tutorial here.

createSafeString(sfResult,5);  // holds at most 5 chars
sfResult = (char)DT [28];
sfResult += (char)DT [29];
Serial.println(sfResult);

Ich weiß nicht, ob ich Deine Frage richtig verstehe, aber eventuell so:

void setup() {
  Serial.begin(9600);
  Serial.println(F("\nStart...."));
  char DT[] {"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"};
  char ergebnis[] {"  "};
  ergebnis[0] = DT[28];
  ergebnis[1] = DT[29];
  Serial.print(F("ergebnis: "));
  Serial.println(ergebnis);
}

void loop() {
  // put your main code here, to run repeatedly:
}

Wobei ich

  ergebnis[0] = DT[28];
  ergebnis[1] = DT[29];
  ergebnis[2] = '\0';

für klarer halte. Ich weiß, Du hast die '\0' implizit in der Zeile vorher gesetzt, das erschließt sich aber nicht intuitiv.

Gruß Tommy

Tommy56: ... das erschließt sich aber nicht intuitiv.

Stimmt!

Wobei ich mir noch nicht sicher bin, ob ich überhaupt den Kern der Frage treffe ::)

Das weiß bisher keiner hier.

Gruß Tommy

Tommy56: Das weiß bisher keiner hier.

Gruß Tommy

Wenn der TO schon Stunden dazu braucht, warum soll es euch da besser gehen ? ;)

Geduld bitte, nicht alle haben das Internet implantiert ::)

agmue: Geduld bitte, nicht alle haben das Internet implantiert ::)

Ich bin zwar nicht immer sehr geduldig, aber in diesem Fall ist es die Aussage des TO im Eingangspost.