短信通信的幾中情況和CMS錯誤

http://blog.chinaunix.net/u/22754/showart_457582.html

1. 如何與GSM MODEM建立通信聯繫
2. 不能與GSM MODEM進行正常的通信或總是在仿真終端上出現亂碼
3. 如何才能知道錯誤代碼
4. 發送短消息後,收到出錯信息+CMS ERROR 512
5. 發送短消息後,收到出錯信息+CMS ERROR 513
6. 發送短消息後,收到出錯信息+CMS ERROR 514
7. 發送短消息後,收到出錯信息+CMS ERROR 515
8. 如何才能知道您發送的短消息已被送達目的號碼
9. 如何發送中文短消息
10.如何建立一個話音呼叫
11.如何建立一個數據呼叫
12.當GSM MODEM作被叫時,如何顯示主叫的電話號碼
13.當GSM MODEM作被叫時,如何判別主叫發起的是話音、數據或傳真呼叫
14.當GSM MODEM作被叫時,如何使其自動應答或不能自動應答
15.如何不通過SIM卡直接讀或寫短消息

1. 如何與GSM MODEM建立通信聯繫
您可用諸如Windows下的超級終端或Pcomm等終端仿真軟件,將計算機的串行口與GSM MODEM的串行口用電纜直接連接。

2. 不能與GSM MODEM進行正常的通信或總是在仿真終端上出現亂碼
檢查您的串口是否保證正常連接,計算機的串口引線與GSM MODEM的串口引線應是一一對應的。GSM MODEM與仿真終端應設置相同的通信速率。
但您初次使用GSM MODEM時,請在仿真終端上設置爲通信速率9600bps、8位數據位、無較驗位、1位停止位。

3. 如果您想在出錯後得到錯誤代碼號,需將GSM Modem作如下設置:
AT+CMEE=1

4. 發送短消息後,收到出錯信息+CMS ERROR 512
表示您的GSM MODEM在發送短消息的同時它收到了新的短消息,發送短消息被拒絕,您需要重新發送此條短消息。

5. 發送短消息後,收到出錯信息+CMS ERROR 513
您遇上了下面問題中的一種:
a) 您的GSM MODEM失去了無線鏈路連接;
b) 在發送完短消息後的28秒內,您的GSM MODEM沒有收到短消息中心送來的接收確認+CMGS:〈順序號〉;
c) 在送出請求建立發送短消息的控制信道指令後的42秒內,您的GSM MODEM沒有收到基站送來的確認〉。

6. 發送短消息後,收到出錯信息+CMS ERROR 514
您遇上了下面問題中的一種:
a) 您設置的短消息中心的號碼是錯誤的;
b) 短消息將要送達的目的號碼是錯誤的;
c) 您發送的短消息被短消息中心拒絕(一般爲目的號碼不存在或目的號碼被禁用)。

7. 發送短消息後,收到出錯信息+CMS ERROR 515
如果您的GSM MODEM在初始化期間或在指令執行過程當中GSM MODEM又接受新的指令,將會出現此錯誤。您必須等到初始化完成或指令執行完畢。

8. 如何才能知道您發送的短消息已被送達目的號碼
a) 採用文本格式發送
在您採用文本格式發送短消息時,您的GSM MODEM須作以下的設置:
at+csmp=49,〈X〉,〈X〉,〈X〉
at+cnmi=〈X〉,〈X〉,〈X〉,1,〈X〉
〈X〉代表根據您的需要您所選擇的合適的參數。
當您發送完短消息後,您將收到來自短消息中心的以下兩種確認中的一種:
+CDS:〈X〉,〈順序號〉,"電話號碼","發送時間","接收時間",0
或:
+CDS:〈X〉,〈順序號〉,"電話號碼","發送時間","接收時間",48
確認中的最後個數代表了此短消息的傳輸狀態。(0表示已經送達目的號碼,48表示不可能將此送達目的號碼)
b) 採用PDU格式發送
在您採用PDU格式發送短消息時,您的GSM MODEM須作以下的設置:
at+cnmi=〈X〉,〈X〉,〈X〉,1,〈X〉
〈X〉代表根據您的需要您所選擇的合適的參數。
在您所要發送的PDU格式的短消息中,您須將短消息中心號碼後的第一個字節設成31
在發送完短消息後,您將收到來自短消息中心的以下確認:
+CDS:〈長度〉00〈PDU格式的確認信息〉
注意:在收到的PDU格式的確認中,順序號和傳輸狀態標誌都是以16進制數存在的,您可將其直接轉成10進制數而無需將其倒置後再轉換。

9. 如何發送中文短消息
採用現有的GSM MODEM發送中文短消息,都必須先將準備發送的中文短消息轉換成16位的Unicode編碼。
A) 採用文本方式發送
在您採用文本格式發送Unicode編碼中文短消息時,您的GSM MODEM須作的設置:
at+csmp=〈X〉,〈X〉,〈X〉,8
〈X〉代表根據您的需要您所選擇的合適的參數。
然後您就可將轉換好的Unicode編碼中文短消息按照發送普通文本短消息的方法發送出去。
B) 採用PDU方式發送
您只須在您的PDU格式的短消息中,將目的號碼字符串後的第二個字節設成08,將轉
換好的Unicode編碼中文短消息作爲PDU中的發送內容一齊發送。

10. 如何建立一個話音呼叫
向GSM MODEM的串口送指令ATD〈電話號碼〉;〈回車〉必須確認電話號碼是一個話音號碼而非傳真或數據號碼。

11. 如何建立一個數據呼叫
先將您的GSM MODEM作如下設置:
at+ipr=9600
at+ifc=2,2
at+cbst=0,0,1
向GSM MODEM的串口送指令ATD〈電話號碼〉〈回車〉
必須確認電話號碼是一個數據號碼而非傳真或話音號碼,同時必須確認您的SIM卡已開通數據通信的服務。

12.當GSM MODEM作被叫時,如何顯示主叫的電話號碼
將您的GSM MODEM作如下設置:
at+clip=1

13.當GSM MODEM作被叫時,如何判別主叫發起的是話音、數據或傳真呼叫
將您的GSM MODEM作如下設置:
at+crc=1

14.當GSM MODEM作被叫時,如何使其自動應答或不能自動應答
如果您想讓您的GSM MODEM自動應答,將您的GSM MODEM作如下設置:
ats0=〈N〉 N是代表GSM MODEM震鈴的次數的一個整數,即GSM MODEM在N 次 震鈴後將自動應答。
如果您想讓您的GSM MODEM不能自動應答,將您的GSM MODEM作如下設置:
ats0=0

15.如何不通過SIM卡直接讀或寫短消息
因爲SIM卡只有1萬到10萬次的讀寫次數和10-15條短消息的存儲空間,還涉及到SIM卡上短消息讀寫需要一定的時間才能完成。這些因素影響了許多應用,這些應用需要通過GSM網絡進行大量的數據交換,爲保證流程的順利進行,SIM卡要完成大量的讀、寫和刪除操作,SIM卡的壽命週期很快就會達到,此外,SIM卡完成這些工作所耗費的時間比外界要求的要多。爲解決這些問題,有必要在終端上作一些軟件設置,使短消息不通過SIM卡進行讀寫操作。
以下的描述介紹瞭如何採用這種方法在Falcom A2系列和數據終端MT4002之間不通過SIM卡交換數據,這種方法也可用與2個MT4002之間。
a) 串口上的從終端來的RTS信號可用來指示數據交換時隙是否忙,串口準備好接收數據
b) 如果終端雙方都可用來接收和發送短消息,在設置時雙方都要設同樣的命令和常數。
在接收端,設命令AT+CNMI=2,2,0,0,0
在發送端,設命令AT+CSMP=17,167,0,240 (當使用PDU格式發送時,240改成字符串DCS(F0))
c) 當程序發現短消息以前綴+CMT後跟所傳送的數據這種格式時,立即將此短消息捕獲並將其分發到原定的地址。
d) 當發送端如果沒有設置CSMP=17,167,0,240時,捕獲到的短消息應有前綴+CMTI,此時用命令AT+CMGR=n讀取並分發到原定的地址,隨後用命令AT+CMGD=n將此短消息刪除以保證SIM卡有足夠多的空間。

發佈了10 篇原創文章 · 獲贊 2 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章