1

我在我的 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);
  }
}

我相信该功能可以很好地读取字符,但是我不确定为什么找不到其余字符

4

2 回答 2

0

需要关闭 AT+SAPBR 和 AT+HTTPINIT 模式

试试这个:AT+SAPBR=0,1

       AT+HTTPTERM
于 2020-06-27T18:33:30.907 回答
0

这是由于您使用的 arduino uno 或 mega 的串行缓冲区溢出。增加缓冲区大小,以便它们容纳更多字节;并且可以显示这些数据。

于 2016-05-19T06:42:16.853 回答