J'ai besoin d'aide pour extraire des données d'une carte SD basée sur mon code de la section this. Le code fonctionne quand je lis les données de la carte SD et les affiche dans le port série, mais quand je passe les données dans un tableau char * et appelez une fonction qui boucle le tableau, le tableau affiche des ordures (certaines données illisibles). J'essaie de faire une fonction que je peux utiliser pour appeler différents paramètres stockés à partir de la carte SD dans un format de fichier texte.Analyse de données de carte SD avec esp8266
J'ai une variable globale nommée:
char* tempStoreParam[10];
qui permet de stocker des données temporaires pour être processus. Les données stockées dans le fichier texte est dans ce format
-n.command
Où: n = nombre int et l'emplacement de l'index des données à stocker dans la tempStoreParam[10]
et commande est un tableau char * à stocké dans tempStoreParam[10]
.
Exemple:
-1.readTempC
-2.readTempF
-3.setdelay:10
-4.getIpAddr
Voici l'extrait de code:
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, "-");
}
}
Je suis en train d'obtenir le résultat suivant:
char* tempStoreParam[10] = {"readTempC","readTempF","setdelay:10","getIpAddr"};
Merci pour la correction, Aniket –