我正在使用arduino开发一个小型物联网项目。直到现在一切正常。 项目的步骤是:
奇怪的是,前三个试验完美无缺。但是,之后,保存XML的字符串变为空。
以下是代码的一部分:
void loop()
{
while (Serial3.available()>0)
{
char c = Serial3.read();
if (gps.encode(c)){
createXML();
delay(1000);
if(seconds_passed==10000 && !IsXMLEmpty)
{
XML+="\n</start>";
Serial.print(XML);
Serial.print(F("Send to serveR"));
seconds_passed=0;
IsXMLEmpty=true;
String temp ="";
temp = "XML="+XML;
char *param = new char[temp.length()+1];
temp.toCharArray(param,temp.length());
Serial.println(param);
if(!postPage(serverName,serverPort,pushPage,"XML=123")) Serial.print(F("Fail "));
else Serial.print(F("Pass "));
XML="";
XML="<start>\n\t";
}
}
}
// if(data==false){ Serial.println("No data"); }
}
我认为问题在于String对象。这可能是一个记忆问题。有什么想法吗?