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?