CDMA模块发短信
1. 发文本短信
eg. 发送英文数字短消息“123ABC”,使用其相应ASCII码发送。
AT+WSCL=1,2 // 设置为发英文短信OK
OK
AT+CMGS="13601193264" // 区别于GSM模块,CDMA模块发短信号码必须要加
引号
123ABC<ctrl-Z> // 输入内容,然后Ctrl+Z发送
+CMGS:1
OK
返回代码:
+CMGS:N 表示成功发出,N为序号。
2. 发中文短信
CDMA发中文短消息不是采用PDU格式,而是直接发送其Unicode代码
eg . 发送中文短消息“您好”其相应Unicode编码:0x60a8 0x597d
AT+WSCL=6,4<CR>
AT+CMGS="13600193264"<CR>
60A8597D <ctrl-Z>
返回代码:
+CMGS:N 表示成功发出,N为序号。
注:程序中发送的时候应该是发送数据0x60,0xa8,0x59,0x7d,对于中文短消息其中的控制字符也必须用其UNCODE代码表示。消息内容的结束则以结束符来做标记,所以它的结束符也应该是UNICODE格式的。即在超级终端中用此种方式是无法发送成功的,因为从键盘键入的<ctrl-Z>并非UNICODE格式,仅ASCII码而已。在程序中正确的结束符应该是0x00 0x1a。
3 . 同样CDMA模块也可以中文、英文及数字一起发送,都使用其相对应的UNICODE代码发送。
模块读写列短消息
1.通过设置AT+CNMI,短消息会有不同的提示信息
AT+CNMI=2,1,0,0,0 // 若第二个参数设置为1
OK
AT+CMGS=13823372605
> HELLO,HOW ARE YOU? //输入发送内容,Ctrl+Z发送
+CMGS: 3
OK
+CMTI: "SM",12 // 收到短信息提示 +CMTI:
AT+CMGR=12 // 读收到短消息
+CMGR: "REC UNREAD","+8613823372605",,"03/03/11,15:56:25+00"
HELLO,HOW ARE YOU?
OK
AT+CNMI=2,2,0,0,0 // 若设置第二个参数为2
OK
AT+CMGS=13826672605
> HELLO
+CMGS: 57
OK
+CMT: "+8613826672605",,"03/03/06,10:21:31+00"
HELLO // 收到短信息提示+CMT:,内容直接显示
注:AT+CMGR=<n> // 读第n条短消息
2.写入短信息 AT+CMGW 发送 AT+CMSS
AT+CMGW=13826672605 // 写短消息
> NICE TO MEET YOU! // 短消息内容
+CMGW: 1
OK
AT+CMSS=1 // 发送存储的第一条短消息
+CMSS: 83
OK
+CMT: "+861386672605",,"03/03/13,17:51:40+00" // 收到短信息
NICE TO MEET YOU!
3. 列出短信息 AT+CMGL
AT+CMGL="ALL" // 列出所有短信息
+CMGL: 1,"STO UNSENT","13823372605",,
NICE TO MEET YOU1
+CMGL: 2,"REC UNREAD","+8613826672605",,"03/03/13,17:07:40+00"
HELLO
OK
AT+CMGL="REC READ" // 文本格式下列出已读短信息
+CMGL: 2,"REC READ","+8613826672605",,"03/03/13,17:07:40+00"
HELLO
4.删除短消息 AT+CMGD
AT+CMGD=<N> 删除第〈N〉条短消息
AT+CMGD=1,1 删除所有已经阅读的短消息
AT+CMGD=1,2 删除所有已经阅读和发送出去的短消息
AT+CMGD=1,3 删除所有已经阅读过、已经发送出去和未发送的短消息
AT+CMGD=1,4 删除所有短消息
注:有时候发送短消息不成功,可能是memory已满,可以通过AT+CMGD=1,4删除