標題: 基于單片機控制GSM模塊實現(xiàn)短信收發(fā)的軟件設(shè)計 [打印本頁]

作者: ykyufkjfyu    時間: 2017-10-27 20:45
標題: 基于單片機控制GSM模塊實現(xiàn)短信收發(fā)的軟件設(shè)計
    當(dāng)進入時鐘中斷調(diào)用SHELL函數(shù)時,如果接收到了返回的參數(shù)+CMTI,表明上位機模塊向下位機模塊發(fā)送了短信數(shù)據(jù),可能是命令幀,也可能是確認幀或者非確認幀。在這種情況下,SHELL函數(shù)需要對短信內(nèi)容進行分析,并根據(jù)短信的內(nèi)容進行不同的處理,負責(zé)完成以上功能的就是ExecData函數(shù),它是被SHELL函數(shù)調(diào)用的,用來分析并處理短信數(shù)據(jù)。
結(jié)語
通過以上的分析不難發(fā)現(xiàn),整個程序錯綜復(fù)雜,函數(shù)之間相互牽扯。標志位在程序的實現(xiàn)過程中扮演著非常重要的角色,正是依靠這些標志位,程序才能很好地實現(xiàn)各個功能之間的切換,而標志位的值是通過OSM模塊返回的參數(shù)修改的。因此程序的實現(xiàn)過程應(yīng)該是閱讀參數(shù)→修改標志位→發(fā)送指令。
主函數(shù)、時鐘中斷和串口中斷程序、SHELL函數(shù)、ExecData函數(shù)貫穿整個程序的主線和核心部分,對它們的分析可以理解程序的主體思想,這也正是筆者著重介紹的原因所在。然而這些函數(shù)和中斷程序的實現(xiàn),還需要依靠其它函數(shù)的配合,比如基于I2C總線的E2PROM操作函數(shù)、字符串操作函數(shù)以及串口發(fā)送函數(shù)等,由于篇幅所限,在此不再介紹。GSM網(wǎng)絡(luò)本身是不完全可靠的,可能會發(fā)生幀發(fā)送錯誤、幀丟失的現(xiàn)象。但是由于重發(fā)、延時重發(fā)機制的存在,程序可以最大程度避免上述情況的發(fā)生。在實際應(yīng)用過程中,模塊運行正常,性能穩(wěn)定,實時性好。


作者: kjdmm31    時間: 2017-10-28 08:19
還不錯啦




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1