新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 基于GSM短消息控制的智能照明節電系統設計

        基于GSM短消息控制的智能照明節電系統設計

        作者: 時間:2009-04-03 來源:網絡 收藏

        注意單片機與MC35i串口不能直接相連,因為89C52管腳為5 V標準TTL電平,而MC35i電平較低,為3 V左右。為解決電平接口不一致的問題,同時避免板間干擾、提高通信的靈活性和可擴展性,中在單片機和模塊之間加了一個MAX232電平轉換電路。
        下面重點論述中微處理器與之間如何實現收發。


        4 分析與實現
        為實現軟件短信息的編輯和收發,我們有必要先分析一下的格式,然后再確定如何通過AT命令實現短消息的收發。
        4.1 短消息分析
        短消息的發送和接收共有三種模式:Block模式、AT命令的Text模式和AT命令的PDU模式。其中只存PDU模式可以用于中英文短消息傳送,但因為有編碼、解碼過程,所以較Text模式復雜。由于PDU模式有很好的數據信息存儲格式,并對中文有很好的支持.PDU模式在移動設備中使用最為普遍,現在各大網絡公司都采用PDU模式來進行短消息的處理。
        根據GSM07.05的定義,只要終端通過UART接口向GSM模塊發送AT命令,就可以直接讀取收到的PDU模式的短消息。PDU模式的數據表面上看是一串ASCII碼,由‘O’~‘9’,‘A’~‘F’這些數字和字母組成,他們是8位字節的十六進制數。PDU數據不僅包含可顯示的消息本身,還以固定格式包含很多其他消息,如SMS服務中心號碼、目標號碼、回復號碼、編碼方式和服務時間等。
        目前國內漢字顯示采用GB一2313編碼,而GSM標準中中文編碼采用UTF一8編碼,因此處理短消息時需要進行中文編碼的轉換,才能與采用GB一2313漢字庫相配合顯示漢字字型。
        由于UTF一8編碼和GB一2313漢字庫之間不存在一一對應的線性關系,因此嵌入式系統中只能采用查表的方式進行轉換。下面給出一個由UTF一8編碼到GB一2313編碼轉換的算法。
        首先在存儲區建立UTF一8和GB一2313兩個編碼表,然后進行軟件解碼。每次從PDU模式的短消息數據串的用戶數據段取出兩個字節,采用二分法快速數據查找算法,在UTF一8編碼表中找到編碼所對應的位置,然后在GB一2313編碼表對應位置上讀出短信內容相對應的GB一2313編碼。相應的軟件流程如圖3所示。二分法的最壞查找次數為lg2(n+1),UTF一8表的長度n為7 445,所以最壞情況查找次數為13次,即一個中文編碼由UTF一8到GB一2313的轉換最多經過13次比較查找就可完成。這比采用簡單的順序查表快地多,大大減少了查表所花費的時間,非常適合在一般的嵌入式系統中使用。

        4.2 使用AT命令實現短消息收發



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 林西县| 台南县| 望都县| 仪陇县| 麟游县| 纳雍县| 四川省| 隆尧县| 日土县| 区。| 西吉县| 鹿泉市| 正蓝旗| 乌审旗| 莱阳市| 周宁县| 塔河县| 祁门县| 怀化市| 菏泽市| 铁岭市| 南和县| 营山县| 齐河县| 孝义市| 西乡县| 阳新县| 滦南县| 营山县| 灯塔市| 达孜县| 黄冈市| 宕昌县| 清流县| 泸水县| 乳源| 正镶白旗| 黄冈市| 马龙县| 蓝田县| 裕民县|