码迷,mamicode.com
首页 > 其他好文 > 详细

通过RS232发送和接收短信(三)

时间:2015-11-12 18:25:48      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

接收短信

接收刚收到的短信有两种方法:轮询终端;使用事件

轮询终端可以定期的使用AT+CMGL=0指令读取未读取得指令。方法简单,但许多时候都在做无用功,效率低下,一般不建议采用。下面主要讲解事件法:

指令:

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

参数:

mode

0——缓存在终端

1——直接发送到TE

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


通过RS232发送和接收短信(三)

标签:

原文地址:http://my.oschina.net/u/2350101/blog/529532

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!