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

これは、使用している arduino uno または mega のシリアル バッファ オーバーフローが原因です。バッファ サイズを増やして、より多くのバイトを収容できるようにします。それらのデータを表示することができます。

于 2016-05-19T06:42:16.853 に答える