0

私はシリアルモニターArduinoウィンドウを介してarduino UNO用のseeedstudio GPRSシールドをインターフェースしており、いくつかの書き込みはttyに直接エコーされています(私はLinuxを使用しています)

テキストメッセージの送信や受信に関しても適切にインターフェースできますが、コマンドを実行してメッセージを読み取ると(IDであることを知っている)、メッセージの最初の文字のみが返されます。

+CMGR: "REC READ","MYPHONENUMBERHERE","","13/10/15,21:45:44-40"
H

完全なメッセージは「うーん」で、表示されるのは「H」だけです

正確なコマンド実行は次のとおりです。

AT+CMGR=3

また、興味深いことに、実行すると

AT+CMGL="ALL"

私はすべてのメッセージを受け取っているようです

+CMGL: 2,"REC READ","+1xxxxxxxxxx","","13/10/15,21:35:51-40"
+CMGL: 3,"REC READ","+1xxxxxxxxxx","","13/10/15,21:45:44-40"
+CMGL: 4,"REC READ","+1xxxxxxxxxx","","13/10/16,06:08:24-40"

また、SIM は AT&T の GoPhone サービスを通じて取得され、GPRS シールドの SIM900 モジュールで適切にアクティブ化され、前述のように、テキスト メッセージを正常に送信できますが、正しく表示されるようにすることはできません。

私が使用しているシールドはここにあります: www.seeedstudio.com/wiki/GPRS_Shield_V1.0

4

2 に答える 2

0

私はそれを次のように変更します:

#define _SS_MAX_RX_BUFF 256 // RX buffer size

メッセージの長さが 160 文字になる可能性があるためです。

!! : 数値には、64、128、256、512(?) などの値のみを含める必要があります。

于 2014-07-22T20:50:12.573 に答える