da ich noch neu in Sachen Arduino bin, komme ich da bei einem Punkt nicht weiter.
Ausgangslage: GSM und Ethernetshields mit den Beispielen. Hier habe ich beide Beispiele zusammengestoppelt.
Das Problem ist, dass ich keinen String habe, den ich dann dem Mailsendeteil übergeben kann, da das GSM Shield das SMS Zeichen für Zeichen abholt:
Line 84: char c;
Ab Line 100
while(c=sms.read())
Serial.print(c);
Hier soll der SMS Text in ein Mail verpackt werden. (Line 153)
client.println(F(c));
Es kommt logischerweise folgende Fehlermeldung:
'c' was not declared in this scope. 1. Weil es nicht deklariert ist, und 2. Würde hier nur ein Zeichen statt der gesamte SMS Text drinstehen.
Somit habe ich 2 Fragen: Wie kann ich Variablen deklarieren, die für das gesamte Sketch gültig ist und wie bekomme ich die einzelnen Char´s von c in einen String?
Ich hab den gesamten Code hier beigepackt. Zu bemerken ist noch, dass ich den nicht testen kann, mangels Hardware.
Das kann auch deshalb nicht gehen, weil das F-Makro Daten ins Flash schreibt. Das muss also zur Compile-Zeit feststehen. Man kann nicht Variablen die sich zur Runtime ändern ins Flash schreiben.
error: no match for 'operator+=' in 'SMSText += String(c)'
Kann er nun nicht konvertieren, oder wo liegt der Fehler jetzt?
Na, der Fehler heisst, man kann kein + auf SMSText und String(c) anwenden. ( und schon gar kein += )
Du hast nicht verraten, was SMSText ist, aber meine Kristallkugel sagt mir, dass es zum Glück wohl kein String Objekt ist.
Bei char Array braucht man so ein kompliziertes += gar nicht.
char* getSMS( )
{
static char SMSText[160];
byte pos =0;
char c;
while ( ( c = sms.read() ) != 0 ) // mal geraten, dass sms.read() so verwendet wird...
SMSText[pos++] = c;
SMSText[pos]= 0; // Endekennung
Serial.println(SMSText); // z. Test
return SMSText;
}
Danke für die Tipps, leider komme ich aus Beruflichen Gründen wohl die kommenden 2 Wochen nicht dazu, hier weiter zu machen.
Ich hoffe, dass ich bis dahin das GSM und das Ethernetshield erhalten habe, sodass ich nicht nur in der grauen Theorie erfahrungen sammle...