Pages: [1]   Go Down
Author Topic: Problem mit String  (Read 207 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,
ich habe ein seltsames Verhalten bei Verwendung mit String. Ich habe folgende Funktion definiert

String Decode(const String &text){
  String strRet;
...
  Serial.println(strRet);
  return strRet;
}

habe nun zwei weitere Funktion ein Art "UnitTests" - Funktion

void Test(const String &text, const String &pattern)
{
  String strDecode;
  strDecode = Decode(text);
  if (strDecode.equals(pattern)) { Serial.println("OK"} else { Serial.println("not OK");
}

void UnitTests()
{
  Test("SOS", "***---***"); //1. Fall
  //Test("ABCED", "...   ");    //2. Fall
}

void loop()
{
  UnitTests();
}

Wenn ich Fall 1 durchführe funktioniert alles, wie man es vermutet. Auch wenn ich Test("SOS" auskommentier und dann Test("ABCDE aufrufe, dann geht dies auch.
Nur wenn ich beide Funktionen zusammen aufrufe, dann scheitert plötzlich Test("ABCD.
Ich habe einmal strDecode aus Test ausgegeben, da steht nichts drin.
Kann sich jemand dieses erklären?

Logged

Germany
Offline Offline
Faraday Member
**
Karma: 56
Posts: 2983
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Kann sich jemand dieses erklären?
Ich habe aufgegeben, rauszukriegen wie lange String Objekte funktionieren.
Innerhalb von loop() jedenfalls kannst du sie vergessen.

Und nur zu beweisen, dass man ein Dutzend String-Objekte in setup() erzeugen und damit einen Test bis zum nächsten Reset fahren kann, bringt (mir) nichts.
Logged

Pages: [1]   Go Up
Jump to: