c-HTTPREAD缺少Arduino和SIM900的字符



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

我相信该函数读取字符很好,但我不确定为什么它找不到

的其余字符

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

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

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

       AT+HTTPTERM

相关内容

  • 没有找到相关文章

最新更新