1. 程式人生 > >AT程式設計常見問題與錯誤程式碼的意義

AT程式設計常見問題與錯誤程式碼的意義

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卡有足夠多的空間。


0 phone failure
1 no connection to phone
2 phone-adaptor link reserved
3 operation not allowed
4 operation not supported
5 PH-SIM PIN required
6 PH-FSIM PIN required
7 PH-FSIM PUK required
10 SIM not inserted
11 SIM PIN required
12 SIM PUK required
13 SIM failure SIM300 AT Command Set
14 SIM busy
15 SIM wrong
16 incorrect password
17 SIM PIN2 required
18 SIM PUK2 required
20 memory full
21 invalid index
22 not found
23 memory failure
24 text string too long
25 invalid characters in text string
26 dial string too long
27 invalid characters in dial string
30 no network service
31 network timeout
32 network not allowed - emergency calls only
40 network personalization PIN required
41 network personalization PUK required
42 network subset personalization PIN required
43 network subset personalization PUK required
44 service provider personalization PIN required
45 service provider personalization PUK required
46 corporate personalization PIN required
47 corporate personalization PUK required
100 unknown
103 illegal MS
106 illegal ME
107 GPRS services not allowed
111 PLMN not allowed
112 location area not allowed
113 roaming not allowed in this location area
132 service option not supported
133 requested service option not subscribed
134 service option temporarily out of order
148 unspecified GPRS error
149 PDP authentication failure
150 invalid mobile class
577 GPRS - activation rejected by GGSN
578 PRS - unspecified activation rejection
579 GPRS - bad code or protocol rejection
580 GPRS - can't modify address
581 GPRS - CHAP close
582 GPRS - profile (cid) currently unavailable
583 GPRS - a profile (cid) is currently active SIM300 AT Command Set
584 GPRS - combined services not allowed
585 GPRS - conditional IE error
586 GPRS - context activation rejected
587 GPRS - duplicate TI received
588 GPRS - feature not supported
589 GPRS - service not available
590 GPRS - unknown IE from network
591 GPRS - implicitly detached
592 GPRS - insufficient resources
593 GPRS - invalid activation state (0-1)
594 GPRS - invalid address length
595 GPRS - invalid character in address string
596 GPRS - invalid cid value
597 GPRS - invalid dial string length
598 GPRS - mode value not in range
599 GPRS - invalid MAND information
600 GPRS - SMS service preference out of range
601 GPRS - invalid TI value
602 GPRS - IPCP negotiation timeout
603 GPRS - LCP negotiation timeout
604 GPRS - LLC error
605 GPRS - LLC or SNDCP failure
606 GPRS - lower layer failure
607 GPRS - missing or unknown APN
608 GPRS - mobile not ready
609 GPRS - MS identity not in network
610 GPRS - MSC temporarily not reachable
611 GPRS - message incompatible with state
612 GPRS - message type incompatible with state
613 GPRS - unknown message from network
614 GPRS - NCP close
615 GPRS - network failure
616 PRS - no echo reply
617 GPRS - no free NSAPIs
618 GPRS - processing of multiple cids not supported
619 GPRS - no PDP context activated
620 GPRS - normal termination
621 GPRS - NSAPI already used
622 GPRS - address element out of range
623 GPRS - PAP close
624 GPRS - PDP context w/o TFT already activated
625 GPRS - PDP type not supported
626 GPRS - peer refuses our ACCM
627 GPRS - peer refuses our IP address SIM300 AT Command Set
628 GPRS - peer refuses our MRU
629 GPRS - peer requested CHAP
630 GPRS - profile (cid) not defined
631 GPRS - unspecified protocol error
632 GPRS - QOS not accepted
633 GPRS - QOS validation fail
634 GPRS - reactivation required
635 GPRS - regular deactivation
636 GPRS - semantic error in TFT operation
637 GPRS - semantic errors in packet filter
638 GPRS - semantically incorrect message
639 GPRS - service type not yet available
640 GPRS - syntactical error in TFT operation
641 GPRS - syntactical errors in packet filter
642 PRS - too many RXJs
643 GPRS - unknown PDP address or type
644 GPRS - unknown PDP context
645 GPRS - user authorization failed
646 GPRS - QOS invalid parameter
673 audio manager not ready
674 audio format cannot be configured
705 SIM toolkit menu has not been configured
706 SIM toolkit already in use
707 SIM toolkit not enabled
737 +CSCS type not supported
738 CSCS type not found
741 must include <format> with <oper>
742 incorrect <oper> format
743 <oper> length too long
744 SIM full
745 unable to change PLMN list
746 network operator not recognized
749 invalid command length
750 invalid input string
753 missing required cmd parameter
754 invalid SIM command
755 invalid File Id
756 missing required P1/2/3 parameter
757 invalid P1/2/3 parameter
758 missing required command data
759 invalid characters in command data
765 invalid input value
766 unsupported value or mode
767 operation failed SIM300 AT Command Set
768 multiplexer already active
769 unable to get control of required module
770 SIM invalid - network reject
771 call setup in progress
772 SIM powered down
773 SIM File not present

300 ME failure
301 SMS ME reserved
302 operation not allowed
303 operation not supported
304 invalid PDU mode
305 invalid text mode
310 SIM not inserted
311 SIM pin necessary
312 PH SIM pin necessary
313 SIM failure
314 SIM busy
315 SIM wrong
316 SIM PUK required
317 SIM PIN2 required
318 SIM PUK2 required
320 memory failure
321 invalid memory index
322 memory full
330 SMSC address unknown
331 no network
332 network timeout
500 unknown
512 SIM not ready
513 unread records on SIM
514 CB error unknown
515 PS busy
517 SM BL not ready
528 Invalid (non-hex) chars in PDU SIM300 AT Command Set
529 Incorrect PDU length
530 Invalid MTI
531 Invalid (non-hex) chars in address
532 Invalid address (no digits read)
533 Incorrect PDU length (UDL)
534 Incorrect SCA length
536 Invalid First Octet (should be 2 or 34)
537 Invalid Command Type
538 SRR bit not set
539 SRR bit set
540 Invalid User Data Header IE

相關推薦

AT程式設計常見問題錯誤程式碼意義

1. 如何與GSM MODEM建立通訊聯絡 您可用諸如Windows下的超級終端或Pcomm等終端模擬軟體,將計算機的序列口與GSM MODEM的序列口用電纜直接連線。 2. 不能與GSM MODEM進行正常的通訊或總是在模擬終端上出現亂碼 檢查您的串列埠是否保證正常連線,

.NET中的非同步程式設計——常見錯誤和最佳實踐

    在這篇文章中,我們將通過使用非同步程式設計的一些最常見的錯誤來給你們一些參考。 背景 在之前的文章中,我們開始分析.NET世界中的非同步程式設計。在那篇文章中,我們擔心這個概念有點誤解,儘管從.NET4.5開始它已經存在了超過6年時間。使用這種程式設計

常見錯誤程式碼

錯誤程式碼(也稱作狀態程式碼),指為伺服器所接收每個請求(網頁點選)分配的 3 位數程式碼。多數有效網頁點選都有狀態程式碼 200("正常")。"網頁未找到"錯誤會生產 404 錯誤。某些常見的程式碼以粗體顯示。 1xx(臨時響應) 用於表示臨時響應並需要請求者執行操作才能繼續的狀

常見WEB錯誤程式碼

1 404表示檔案或資源未找到 2 java WEB常見的錯誤程式碼 3 1、1xx-資訊提示:這些狀態程式碼表示臨時的響應。客戶端在收到常規響應之前,應準備接收一個或多個1xx響應。 4 100-繼續。 5 101-切換協議。 6 2、2xx-成功:這類狀態程式碼表明伺服器成功地

mysql常見錯誤程式碼

如果安裝時或者工作中有問題,可以看錯誤日誌分析問題原因: 1005:建立表失敗 1006:建立資料庫失敗 1007:資料庫已存在,建立資料庫失敗 1008:資料庫不存在,刪除資料庫失敗 1009:不能刪除資料庫檔案導致刪除資料庫失敗 1010:不能刪除資料目

常見Windows錯誤程式碼含義

MS Windows Error Messages   Code Error Message   0  操作成功完成。     1  功能錯誤。     2  系統找不到指定的檔案。     3  系統找不到指定的路徑。     4  系統無法開啟檔案。   

常見HTTP錯誤程式碼大全

一些常見的狀態碼為: 200 - 伺服器成功返回網頁 404 - 請求的網頁不存在 503 - 服務不可用 詳細分解: 1xx(臨時響應) 表示臨時響應並需要請求者繼續執行操作的狀態程式碼。 程式碼 說明 100 (繼續) 請求者應當繼續提出請求。伺服器返回此程式碼表示已

Java程式設計常見低階錯誤(整理)

前言 本文件根據java開發人員在編碼過程中容易忽視或經常出錯的地方進行了整理,總結了十個比較常見的低階錯誤點,方便大家學習。 一:使用“ == ”比較兩個String物件是否相等         兩個字串在比較內容是否相等的時候,如果使用“==”,當兩個字串不是指向記憶體

瀏覽器常見HTTP錯誤程式碼

一些常見的狀態碼為: 200 - 伺服器成功返回網頁 404 - 請求的網頁不存在 503 - 服務不可用 詳細分解: 1xx(臨時響應) 表示臨時響應並需要請求者繼續執行操作的狀態程式碼。 程式碼 說明 100 (繼續) 請求者應當繼續提出請求。伺服器返回此程式碼表示已收到

常見http錯誤程式碼及含義!!

總結了一下http常見的錯誤程式碼: 1、400  --   無法解析此請求。 2、403  --   禁止訪問:訪問被拒絕。 3、404  --   找不到檔案或目錄。 4、405  --   用於訪問該頁的HTTP動作未被許可。 5、410  --   檔案已刪除。 6

ORACLE常見錯誤程式碼的分析解決

(一)在使用ORACLE的過程過,我們會經常遇到一些ORACLE產生的錯誤,對於初學者而言,這些錯誤可能有點模糊,而且可能一時不知怎麼去處理產生的這些錯誤,本人就使用中出現比較頻繁的錯誤程式碼一一做出分析,希望能夠幫助你找到一個合理解決這些錯誤的方法,同時也希望你能夠提出

第1章第2講常見編譯錯誤調試

spl ima play .com style src left 調試 isp 第1章第2講常見編譯錯誤與調試

asp.net 表單數據提交,常見方式錯誤總結

state 屬性 服務器 ews 一個 2.0 就會 數據頁面 url 在ASP中,我們通常把表單提交到另外一個頁面(接受數據頁面)。但是在ASP.NET中,服務端表單通常都是提交到本頁面的,如果我設置 form1.action="test.aspx"; 那麽就會導致視圖驗

C語言程式設計常見錯誤,看看你中招了嗎?

雲上傘 C編譯的程式對語法檢查並不像其它高階語言那麼嚴格,這就給程式設計人員留下“靈活的餘地”,但還是由於這個靈活給程式的除錯帶來了許多不便,尤其對初學C語言的人來說,經常會出一些連自己都不知道錯在哪裡的錯誤。看著有錯的程式,不知該如何改起,通過對C的學習,積累了一些C程式設計時常犯的錯誤,

程式設計常見錯誤TOP10

結合以前工作經驗,整理的編碼常見的錯誤、推薦風格,及原因: 程式設計常見錯誤TOP10: 返回值使用錯誤 呼叫函式的執行結果對流程有影響,卻未判斷返回值的 返回值使用不準確 返回值的巨集和判斷的巨集不是同一套

除錯中怎麼出現原始碼原始程式碼不同錯誤

public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[

linux系統程式設計(一)--時間錯誤處理

#inlcude<error.h> errno perror(); //列印錯誤 strerror //列印錯誤 #inlcude<time.h> //使用CLOCKS_PER_SEC //常量可以得到秒數 clock_t \\ typedef

結對程式設計總結+git使用GitHub程式碼管理——by林玉俊&唐宇涵

一、分析需求   在拿到結對程式設計專案需求文件後,我和隊友第一件事就是討論需求,分析專案給出的需求以及實現的一些細節。比如,登入介面的設定(註冊、重置、登入按鈕),註冊介面的輸入框設定(手機號、驗證碼、密碼、確認密碼),題目難度和數量介面的設定等這些邏輯流程問題。並大致對各個類需要實現的功能和介面進行了商

《JavaScript DOM程式設計藝術》作者談:原型程式碼生產程式碼之間的矛盾

原文作者:Jeremy Keith 譯者:UC 國際研發 Jothy 寫在最前:歡迎你來到“UC國際技術”公眾號,我們將為大家提供與客戶端、服務端、演算法、測試、資料、前端等相關的高質量技術文章,不限於原創與翻譯。 在 Clearleft 做前端開發時,我們通常以元件庫的形式提供生產程式碼。 這意味

特徵分解的推導意義opencv程式碼

特徵值與特徵向量 定義: A x ⃗