2017-11-30 30 views
7

私はSIM800Lのための外部ライブラリを使用していない、MSP430G2553マイクロコントローラと、テキサス・インスツルメントのLaunchpadでSIM800L moduleを使用しています。SIM800L空白SMSの問題

問題文: シンプルなテキストメッセージ(テキストモードのSMS)が送信され、携帯電話で空白のメッセージとして受信されます。

SIM詳細:

1. SIM 1:所在地:インド。オペレーター:AirTel、4G互換のSIMカード。
2. SIM 2:所在地:インド。オペレーター:Tata Docomo、3G対応のSIMカード。

私はすでに知っていること:ファームウェアで

  • UARTドライバを試験し、作業している、非ポーリング、割り込み駆動。
  • ATコマンドの応答を読み取る代わりに、ブロック時間の遅延が追加されていません。私は応答を読んで、肯定的な承認が受け取られた場合にのみ進めます。ほとんどのコマンドでは<CR><LF>OK<CR><LF>です。
  • Tx-Rxピンで送受信されるデータビットをオシロスコープで確認しました。電圧レベルを含め、すべてが予想どおりに見えます。

私が読んだもの:非公式情報源SIM800Lが唯一の2G互換性があること(もちろんフォーラム)を介し

  • いくつかの憶測。

  • (ウィキペディアより浅い読み取り)私は、テキストのエンコーディングが(+ CSMP AT)ATコマンド適し/関連でどのように扱われるかを理解するためのGSM 3.38GSM 3.40、およびData Coding Scheme sectionを読んでいます。 SIM800Lモジュールは非常に広く使用されているとArduinoのためのものを含む

  • 様々なフォーラム。 StackOverflowの上

関連記事:

答え最初の1では、彼のために働いているように見えた、それはdidnの私のために働く。

は、私が何をしようとしている:

  • を私はDocklightシリアル端末のインスタンスと同じモジュールを使用していました。 Docklightから送信されたSMSは携帯電話で受信され、空白ではなく予想どおりに表示されます。

  • モジュールをLaunchpadハードウェアと統合する前の0日目に、SIM800Lからの予想される応答の正確なコピーを使用してファームウェアの状態マシン全体をテストしました。

  • SIMカードの両方の結果は、いくつかの初期設定を除いて同じですが、SMS関連のタスクを開始する前に、両方の設定で一般的な設定を読み込みます。私が使用

典型的な値は以下のとおりです。17、167、0、0(I 17を試してみました、167、0、0、ない運):

  • CSMPオフエコー。 SIM 1からデフォルトは17,11,0,246であり、それはSIM 2から17、255、0、0
  • CSCSある:シリアルポートの "IRA"

失敗組合せ:(SIM 1 SIM2)

  • CSMP:17,11,2 0,246 | CSCS: "IRA" - 空のSMSを送信
  • CSMP:17,11,0246 | CSCS: "GSM" - ブランクSMSを送信
  • CSMP:17,11,0,246 | CSCS: "HEX" - シリアルポート上

成功の組み合わせ空白のSMSを送信:(SIM 1、SIM 2)

  • CSMP:17、167、0、0 | CSCS: "IRA"
  • CSMP:17,167,0,8 | CSCS: "IRA"
  • CSMP:17、11、0、0 | CSCS: "GSM"
  • CSMP:17,167,0,0 | CSCS: "GSM"
  • CSMP:17,167,0,8 | CSCS:「GSM」

は正直に言うと、私は私が(悪いSIM800Lユーザーガイドに記載されている)これらの組み合わせを変更するものを反映するものフィールド研究前に、これらの組み合わせと勘を果たしました。


私はここで何が不足しているのでしょうか?私はそれがRTFM(Read The Fat Manual)の問題であると考えています。

答えて

2

[OK]をクリックして問題を解決します。

SIM800Lについてのことではありませんでした。 ペイロード全体には予期せぬ'/0'が続きました(私の知るところでは、私の側は非常に貧弱です)。シリアル用語には何の問題もありません。 デバッグは面白かったです!