经过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

相关文章
相关标签/搜索