【发布时间】:2016-02-23 14:50:49
【问题描述】:
我在我的 Arduino 上使用 SIM900 模块,虽然它返回了正确数量的预期字符,但它缺少字符。我在 AT+SAPBR=1,1 和 AT+HTTPINIT 上有错误,所以我不确定这是否是它的原因。我也不确定如何解决这些问题。
AT+CGATT?
+CGATT: 1
OK
AT+CGATT=1
OK
AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
AT+SAPBR=3,1,"APN","mobile.o2.co.uk"
OK
AT+SAPBR=1,1
ERROR
AT+HTTPINIT
ERROR
AT+HTTPPARA="URL","http://www.xxxxxxxxxxx.com/temp/"
OK
AT+HTTPACTION=0
OK
+HTTPACTION:1,200,56
AT+HTTPREAD
+HTTPREAD:56
{"type":"dOK
我的函数在字符进入时读取它们:
void whileAvailable() {
char data;
while (SIM900.available()) {
data=SIM900.read();
if (data>0) Serial.print(data);
}
}
我相信该函数可以很好地读取字符,但是我不确定为什么它无法找到其余字符
【问题讨论】:
-
虽然这很可能是缓冲区溢出,但这不是唯一的原因。响应请求的网站也会导致它(响应标头)。上面的代码很可能适用于 google.com.hk,但不适用于您的网站。