一、text模式下
1)AT+CSMP 设置短消息文本参数
设置:AT+CSMP=<fo>,<vp/scts>,<pid>,<dcs>
响应:+CSMP:<fo>,<vp/scts>,<pid>,<dcs>
AT+CSMP
1.<fo> 按照不同的位进行介绍
bit 5 4 3 2 1 0
---------------------------------------------------------
value 0 1 0 0 0 1
①bit 1 0 两位表示 SMS_SUBMIT,取为0 1时方向是手机->消息中心,还有三种取值这里不介绍。
②bit 2 取值 0 表示 后续没有短信息要发送;
取值 1 表示 后续还有短信息。
③bit 4 3 两位可取1 0
④ bit 5 取值 0 关闭传送回报
取值 1 打开传送回报。
通常情况下系统默认为010001即为0X11 十进制为17(此时没有状态报告回报)
2.第二个参数 vp的设置
1) 0 - 143 对应的保留时间为: (vp + 1)*5 分钟,最大为12小时
2) 144-167 对应的保留时间为: 12小时 + (vp - 143)*30分钟, 最大为24小时
3) 168-196 对应的保留时间为: (vp - 166) * 1 天
4) 197 - 255 对应时间为: (vp - 192)*1 星期
所以有的模块默认vp = 167对应的就是24小时。
3.第三个参数略。通常为0
4.第四个参数:为0则只能发送英文,8为发送中文。
2) AT+CNMI=2,1,0,1,1
二、PDU模式下
1) AT+CNMI=2,1,0,1,1
2) AT+CMGF=0
3) AT+CSCS=”UCS2”
5)读取回馈
0006320D91683161721356F6506071415354005060714153640000
第一段000632
000632的意思是,此sim卡号从启用到在,你当前发送的短信总数量.不信你可以连续发送两条,看看递增结果,这个是16进制格式.0D接收方号码长度
0D//接收方号码长度
91 //短信中心号码类型
683161721356F6//接收方号码
50607141535400//信息到达短信中心的时间
5060714153640000//信息发送到接收方的时间
0006320D91683161721356F6506071415354005060714153640000
这条消息就是短信中心返回的发送方发送给接收方短信回执,以后要做的事就是把这段回执信息解析出来就行了,经过奇偶对换位置,就得到了如:
“短消息中心在‘2005-06-17 14::35:45’收到了本号发给13162731656的消息,’13162731656’在’2005-06-17 14:35:46’时收到了本号发出的信息