經過RS232發送和接收短信(三)

接收短信緩存

接收剛收到的短信有兩種方法:輪詢終端;使用事件spa

輪詢終端能夠按期的使用AT+CMGL=0指令讀取未讀取得指令。方法簡單,但許多時候都在作無用功,效率低下,通常不建議採用。下面主要講解事件法:事件

指令:效率

AT+CNMI=<mode>,<mt>,<bm>,<ds>,<brf>終端

參數:程序

mode方法

0——緩存在終端參數

1——直接發送到TEindex

mt

0——接收到新的SMS不返回事件

1——若是接收到的SMS存儲在ME,則返回

+CMTI:<mem>,<index>

2——除了Class2 SMS,新的SMS直接發送到終端,返回:

+CMT:<length><CR><LF><PDU>

3——Class3 SMS使用mt=2的方法返回,其餘類型的使用mt=1的方法返回。

bm

0——小區廣播不通知

2——新的小區廣播通知,返回

+CBM:<length><CR><LF><pdu>

3——Class3格式的小區廣播通知,使用bm=2格式

ds

0——狀態報告不通知

1——新的狀態報告通知,返回:

+CDS:<length><CR><LF><pdu>

2——若是新的狀態報告存儲到ME,則返回:

+CDSI:<mem>,<index>

brf

1——始終爲1

例:

通常咱們使用AT+CNMI=1,1,0,2,1

當收到新的短信時終端返回:

+CMTI:ME,5

新的狀態報告:

+CDSI:ME,6

程序能夠經過判斷返回值並使用AT+CMGR指令返回新到短信。

轉自bbs.sendsms.cn

相關文章
相關標籤/搜索