<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 如何以O(shè)penAT3.12為平臺將通信報文封裝進GSM Modem

          如何以O(shè)penAT3.12為平臺將通信報文封裝進GSM Modem

          作者: 時間:2010-12-07 來源:網(wǎng)絡(luò) 收藏

          上位機軟件數(shù)據(jù)處理過程中,需要不停地對進行操作,響應(yīng) 接收到的數(shù)據(jù),處理發(fā)送數(shù)據(jù)包。在整個過程中, 只作為數(shù)據(jù)傳輸工具,不參與任何的數(shù)據(jù)處理;而一般的SMS遠(yuǎn)程監(jiān)控系統(tǒng)的多達幾十乃至上百條,會導(dǎo)致上位機軟件工作量非常大。為了便于上位機程序簡化開發(fā),結(jié)合Q24PL001模塊自身支持OpenAT嵌入式軟件的特點,將短信數(shù)據(jù)的發(fā)送處理和接收解析流程嵌入GSMModem內(nèi),只保留一些簡單的AT命令接口給上位機軟件控制,大大減小了上位機軟件的工作量。

          6 基于OpenAT的通信協(xié)議

          OpenAT嵌入式操作系統(tǒng)是為廣泛的基于GSM/GPRS的模塊系統(tǒng)應(yīng)用而設(shè)計的,用于實現(xiàn)嵌入式的短信數(shù)據(jù)通信協(xié)議報文,可以大大提高GSM Modem硬件系統(tǒng)的資源利用率?;贠penAT的程序設(shè)計流程分為SIM卡服務(wù)聲明、短信服務(wù)聲明、發(fā)送數(shù)據(jù)包處理和接收數(shù)據(jù)包數(shù)據(jù)解析等部分。

          6.1 SlM卡初始化程序

          在OpenAT嵌入式程序中,啟動SIM卡初始化的聲明函數(shù)為adl_simSubscribe(bpt_SimInitHandler, )。其中,bpt_SimInitHandler為SIM卡

          聲明返回函數(shù):



          其中,事件ADL_SIM_EVENT_FULL_INIT表明SIM的初始化完成。

          6.2 短信服務(wù)初始化程序

          在OpenAT嵌入式程序設(shè)計中,當(dāng)返回函數(shù)返回狀態(tài)為ADL_SIM_EVENT_FULL_INIT時,表明系統(tǒng)SIM卡初始化過程成功完成,系統(tǒng)可以進入短信聲明流程。短信功能聲明函數(shù)為:

          ptk_SmsHandler=adl_smsSubscribe((adl_smsHdlr_f)bpt_SmsDataHandler,\(adl_smsCtrlHdlr_f)bpt_SmsCtrlHandler,ADL_SMS_MODE_TEXT);

          其中,ptk_SmsHandler為短信聲明函數(shù)返回句柄;bpt_SmsDataHandler為短信數(shù)據(jù)處理返回函數(shù);bpt_SmsCtrlHandler為短信發(fā)送狀態(tài)事件返回函數(shù);ADL_SMS_MODE_TEXT參數(shù)表示采用TEXT模式進行短信數(shù)據(jù)傳輸。bpt_SmsDataHandler短信數(shù)據(jù)返回函數(shù)定義如下:



          在該函數(shù)中,smsTel為接收到的短信電話號碼,smsTimeLength為TEXT模式下的短信時間戳,smsText為接收到的短信數(shù)據(jù)內(nèi)容。

          SmsCtrlHandler短信發(fā)送事件返回狀態(tài)定義如下:



          其中,ADL_SMS_EVENT_SENDING_OK事件表明短信發(fā)送成功。


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();