Имеете дело с большими строками / массивами? - PullRequest
1 голос
/ 20 декабря 2011

Мне нужно проанализировать много данных. Когда я много значу, я говорю о 5000 - 10000 символов. Прямо сейчас мой код работает с 285-ю частями данных. Я использую платформу прототипирования Arduino. Вот мой 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+ строк и поместить их в массив? Я не уверен, смогут ли мои 2 КБ ОЗУ справиться с этим.

1 Ответ

4 голосов
/ 20 декабря 2011

С 2 килобайтами оперативной памяти вы можете иметь не более 2000 байтов данных (и в действительности значительно меньше, например, возможно, только 1500 байтов из-за стека и глобальных пространств).

Если вам нужно обработать 20 килобайт данных в памяти, купите больший микроконтроллер .... (или запрограммируйте Arduino для передачи данных на ваш ПК, который будет их обрабатывать).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...