我需要一些幫助來從SD卡中提取數據我基於我的代碼this部分。使用esp8266解析SD卡數據
當我從SD卡讀取數據並將其顯示到串行端口時,該代碼工作正常,但是當我將數據傳遞給char *數組並調用將循環數組的函數時,數組顯示垃圾一些不可讀的數據)。我正在嘗試創建一個函數,我可以使用這個函數以文本文件格式調用從SD卡存儲的不同設置。
我有一個名爲一個全局變量:
char* tempStoreParam[10];
將存儲臨時數據要處理。存儲在文本文件中的數據是在該格式
-n.command
其中:被存儲在tempStoreParam[10]
N = INT數和數據的索引位置和命令是一個char *數組存儲在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 –