我需要解析大量数据。当我的意思很多时,我说的是5000到10,000个字符。现在,我的代码可以处理285条数据。我正在使用Arduino原型设计平台。这是我sketch中的loop()
:
void loop() {
if (client.available()) {
char inChar = client.read();
currentLine += inChar;
if (inChar == '\n') { currentLine = ""; }
if (currentLine.endsWith("[start]")) {
readingData = true;
theData = "";
}
if (readingData) {
if (inChar != '[') {
theData += inChar;
//Serial.println("something!");
}
else {
readingData = false;
int count = theData.length()-0;
theData = theData.substring(1, count);
Serial.println(theData);
doAction(100,count,theData);
client.stop();
}
}
}
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
for(;;)
;
}
}
我应该将它分成20多个字符串并将它们放入数组中吗?我不确定我的2KB RAM是否能够处理它。
答案 0 :(得分:4)
使用2千字节的RAM,您可以拥有不超过2000个字节的数据(实际上,由于堆栈和全局空间,实际上可能只有1500字节)。
如果您需要在内存中处理20千字节的数据,请购买更大的微控制器......(或者对您的Arduino进行编程以将数据传输到将处理它的PC)。