赞
踩
一、英文短信的发送:
一般分为五步进行短信的发送:
1、我们用到AT+CSCS指令来设置TE字符集,默认的为GSM7位缺省字符集,在发送英文短信时,需要发送:AT+CSCS="GSM",设置为缺省字符集即可。
2、用指令AT+CMGF来设置短消息模式,即为文本模式(TEXT)还是PDU模式,这里我们发送AT+CMGF=1,设置为文本模式即可。
3、下面就是要设定具体的发送对象的电话号码了,假如我们要给电话为18792992426的号码发送短信,则发送:AT+CMGS="18792992426"即可。
4、指定号码设置完毕之后就要发送短信内容了,直接发送英文内容即可,没有其他附加的指令。
5、最后就是短信发送的启动指令了,即发送0X1A即可。
特别注意:以上五步即可完成一条短信的发送,但是还是特别需要注意几点:
在发送前面三条的内容时,要在发送的结果加上回车,如果用调试助手的话,不用加回车,只需在新行发送那里打钩即可。发送第四条短信内容的时候不必发送回车。在发送完短信内容以后,最后已十六进制(HEX)格式单独发送:1A(即0X1A),即可启动一次短信的发送,另外还可以发送:0X1B即“ESC”的键值,用于告诉SIM900A,取消本次操作,不执行发送。稍等片刻,在短信发送成功之后,模块会返回如:+CMGS:156的确认信息,表示短信发送成功。
二、英文短信的读取:
1、和发送短信一样,发送指令AT+CSCS="GSM"。
2、发送指令AT+CMGF=1,设置模式。
3、 一条关键的指令:AT+CNMI,用于设置新消息指示。发送AT+CNMI=2,1,设置新消息提示。当收到短信,且SIM卡未满的时候,SIM900A模块会返回数据给串口,如:+CMTI:"SM",2表示收到的新消息,存储在SIM卡的位置2。
4、知道了短信存储的位置,下来就是读取短信的指令了,发送:AT+CMGR,用于读取短信,比如发送AT+CMGR=1就可以读取SIM卡存储在位置1的短信。
英文短信的读取步骤比较简单,但是还是需要注意几个地方:
1: 如果SIM内存满了,当接受到新消息的时候就不会返回数据给串口,此时解决的方法就是删除以前的存储内容,释放空间,具体操作为:发送指令:AT+CMGD=1,删除全部短信。
2: 想要编程更加清晰方便,我们也可以提前知道SIM卡的实时内存状态,如发送指令:AT+CPMS?,可以查询当前SIM卡最大支持多少条短信存储,以及当前存储了多少条短信等信息。如返回:+CPMS:用户手册“SM”,1,50,表示当前SIM卡最大存储50条信息,目前已经有1条存储的信息。
---------------------
作者:Hi p
来源:CSDN
原文:https://blog.csdn.net/Hi_hongming/article/details/120546860
版权声明:本文为作者原创文章,转载请附上博文链接!
内容解析By:CSDN,CNBLOG博客文章一键转载插件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。