我正在开发一个 arduino 项目,该项目在服务器上发出 http 请求并读取 http 页面内容。在循环中我有一个功能:
String eventValue = check_for_event();
String check_for_event(){
if (client.connect(server, 80)) {
client.print("GET /check_for_event.php?q=");
client.print(class_code);
client.println(" HTTP/1.0");
client.println();
return readPage();
} else{ return "704"; }
}
String readPage(){
stringPos = 0;
memset( &inString, 0, 32 );
int print_flag=0;
while(true){
if (client.available()) {
char c = client.read();
if (c == '<' ) {
startRead = true;
}else if(startRead){
if(c != '>'){
inString[stringPos] = c;
stringPos ++;
}else{
startRead = false;
client.stop();
client.flush();
print_flag=1;
return inString;
}
}
}
}
if(print_flag==0){return "804";}
}
这是我的代码的一部分,我每 3 秒调用一次。它可以正常工作几个小时,但突然崩溃,我不明白为什么。我发现在 check_for_event 函数的某个地方崩溃了。