MC8630模組(EVDO)成功傳送簡訊

來源:互聯網
上載者:User

    這個發簡訊問題已經糾結筆者快兩個月了,陸陸續續產生一些奇怪的問題,這裡筆者對使用此模組要特別注意的地方進行一些總結和說明,希望用這個模組發簡訊的朋友們能夠從中得到參考,提高開發進度。

    1.與MC8331A不同的是,MC8630是互動式發簡訊的。什麼意思?

    MC8331A是直接一條AT指令,過去,其中包括髮送簡訊的號碼,內容和長度,而8630則不是這樣,它是這樣:

   

at^hcmgs="15868152889"CR    //CR是斷行符號>                           //>號是模組返回的hello                       //這是你要發送的資料
0x1a                        //結束符
^HCMGS:1                    //如下是模組返回的OK^HCMGSS:1

    它是互動,首先輸入要發送的號碼,然後等待模組回應:“>”這個字元,然後在輸入要發送的資料,這樣完成傳送簡訊。

    2.第一個問題倒不是什麼難事,最讓人糾結的就是結束符問題,看過手冊的人都知道,如果是英文的要發送0x1a這個結束符,如果是中文要發送0xaa 0x1a這兩個結束符。

    大家也許會想這個不是很簡單嗎?是的,一開始筆者也認為很簡單,於是對於構造at指令的最後一個字元的時候賦值為:

   

cmd[end] = 0x1a

    這樣弄吧,很長一段時間程式就一直阻塞在這個地方,經過檢查發現不了問題,為什嗎?其實它的意思是:

cmd[end] = "\x1a"

   這點要特別注意,估計大多數人都是死在這個地方!

   3.AT指令“\r”問題

    也許你有過這個錯誤,也許你沒有,但是發送AT指令一定要加"\r",pdf上沒有,也不會特別說明,所以at指令必須有斷行符號符,以保證指令開始的時候是頂頭開始。如:

   

atCmdSend("AT\r");

    這個是小細節問題,不過如果編程編到頭昏眼花的時候,可能不注意,也會讓人百思不得其解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.