我正在處理arduino,並且我想存儲一些從web服務傳入的字符。 代碼將自行解釋:在循環函數中存儲傳入的字符
void loop() {
static int i = 0;
static int count = 0;
static char tmp[100];
if (wifly.avaible()) {
char c = wifly.read();
Serial.print(c);
tmp[i] = c;
i++;
if (c == '"')
count++;
if (count == 2)
{
Serial.print("Received : ");
Serial.println(tmp);
}
}
}
如果我只讓這樣的代碼:
void loop() {
if (wifly.avaible()) {
char c = wifly.read();
Serial.print(c);
}
}
所有工作正常,所有字符都寫。但我需要存儲所有傳入的字符來解析整個字符串。
你有沒有想過爲什麼,當我試圖庫存他們時,程序停止工作,什麼都不寫?
緩衝區溢出一旦你得到你的第101個字符,也許? – Jarod42
你確定你會從服務中獲得最多99個字符嗎?代碼中沒有任何東西可以防止緩衝區溢出。 – suspectus
可能不相關,但完成後需要將'i'和'count'重置爲0。 – molbdnilo