Мне нужна помощь для извлечения данных с SD-карты. Я основываю свой код на this.Анализ данных SD-карты с esp8266
Код работает, когда я считываю данные с SD-карты и отображаю их в последовательный порт, но когда я передаю данные в массив char * и вызываю функцию, которая будет зацикливать массив, массив отображает мусор (некоторые нечитаемые данные). Я пытаюсь сделать функцию, которую я могу использовать для вызова различных настроек, хранящихся на SD-карте, в текстовом формате.
У меня есть глобальная переменная с именем:
char* tempStoreParam[10];
Какой будет хранить временные данные, чтобы процесс. Данные, сохраненные в текстовом файле в этом формате
-n.command
Где: n = INT номер и индекс местоположение данных, подлежащие хранению в tempStoreParam[10]
и команде является символом * массив хранится в tempStoreParam[10]
.
Пример:
-1.readTempC
-2.readTempF
-3.setdelay:10
-4.getIpAddr
Вот фрагмент кода:
while (sdFiles.available()) {
char sdData[datalen + 1];
byte byteSize = sdFiles.read(sdData, datalen);
sdData[byteSize] = 0;
char* mList = strtok(sdData, "-");
while (mList != 0)
{
// Split the command in 2 values
char* lsParam = strchr(mList, '.');
if (lsParam != 0)
{
*lsParam = 0;
int index = atoi(mList);
++lsParam;
tempStoreParam[index] = lsParam;
Serial.println(index);
Serial.println(tempStoreParam[index]);
}
mList = strtok(0, "-");
}
}
Я пытаюсь получить следующий результат:
char* tempStoreParam[10] = {"readTempC","readTempF","setdelay:10","getIpAddr"};
Спасибо за исправление, Aniket –