HTTPREAD缺少Arduino和SIM900的字符

我正在使用我的Arduino的SIM900模块,虽然它返回了正确数量的字符,但它缺少字符。 我在AT + SAPBR = 1,1和AT + HTTPINIT上有ERROR所以我不确定这是不是它的原因。 我不知道如何解决这些问题。

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的串行缓冲区溢出。 增加缓冲区大小,以便它们可以容纳更多字节; 并且可以显示这些数据。