AT指令短信猫通讯中起着重要的作用,能够通过AT指令控制手机的许多行为,包括拨叫号码、按键控制、传真、GPRS等。
AT指令基本用法:
1. 测试命令(Test Command)
在AT指令后面加上“=?”即构成测试命令。例如“AT+CSCS=?”会列举出所有支持的字符集。
2. 读取命令(Read Command)
在AT指令后面加上“?”即构成读取命令。例如“AT+CSCS?”会列举出当前设置。
3. 执行命令(Execute Command)
一般而言在AT指令后加上“=”及命令参数即可。有些命令例如AT+CMGR命令没有参数,直接就可以执行。
以WAVECOM GSM MODEM为例,其常用的AT指令集及开发参考如下:
指令名称 用法 说明
CSMS 选择信息服务
0兼容GSM07.05 Phase 2 version 4.7.0
1兼容GSM07.05 Phase 2+ version
T+CSMS=0
+CSMS: 1,1,1
AT+CSMS=1
+CSMS: 1,1,1 SMS-MO
SMS-MT
SMS-CB(小区广播)
全部支持
CNMA 新SMS收到确认
CPMS 首选的SMS存储区
SM为SIM卡区,BM为内存区,缺省为SM
AT+CPMS=?
+CPMS: (("SM","BM"),("SM"))
AT+CPMS="SM"
+CPMS: 3,25,3,25
AT+CPMS="BM"
+CPMS: 0,20,3,25 (1)为读和删的信息
(2)为写和发的信息
已用1,总共1,已用2,总共2
CMGF 设置SMS编码方式(1文本格式,0为PDU格式)
CSAS 存储CSCA与CSMP的相关信息于E2PROM
CRES 从E2PROM中恢复相关信息
CSDH 显示文本格式参数(1为显示,0为不显示)
AT+CDSH=1
+CMT: "+8613501154105",,"01/09/12,18:04:09+32",145,4,0,0,"+8613800100500",145,3
AAA
AT+CSDH=0
+CMT: "+8613501154105",,"01/09/12,18:04:48+32"
AAA 相关的信息有+CMTI,+CMT,+CDS,+CMGR,+CMGL
左边两个例子同样是发送和接收AAA为内容的SMS
CNMI SMS的输出方式
AT+CNMI=2,2,0,0,0
+CMT: "+8613501154105",,"01/09/13,11:04:09+32"
AAA
AT+CNMI=2,1,0,0,0
+CMTI: "SM",4 其中第2位决定SMS直接输出还是保存于"SM"中
左边两个例子同样是发送和接收AAA为内容的SMS,为0则不接收
CMGR 读取存于"SM"中的信息
AT+CMGR=1
+CMGR: "REC READ", "+8613501154102",,"01/08/14,10:46:47+32"
X000E8
AT+CMGR=4
+CMGR: "REC UNREAD", "+8613501154105",,"01/09/13,11:02:06+32"
AAA
AT+CMGR=2
+CMGR: "REC READ", "+8613501154105",,"01/08/23,16:32:34+32"
DCS format error
at+cmgf=0;+cmgr=2
+CMGR: 1,,26
0891683108100005F0040D91683105114501F500081080326123432306004400460044 读取第1条
来源13501154102
读取第4条
来源13501154105
读取第2条时遇到DCS格式错误,转成PDU格式后,读出数据
来源13501154105
CMGL 信息列表,(+CMGL:索引,类型,,长度<内容>=
AT+CMGL=4
+CMGL: 1,1,,26
0891683108100005F0040D91683105114501F20000108041016474230658180C56C401
+CMGL: 2,1,,26
0891683108100005F0040D91683105114501F500081080326123432306004400460044
+CMGL: 3,1,,32
0891683108100005F0040D91683105114501F50008108032617492230C003400310032
003100320033
+CMGL: 4,1,,23
0891683108100005F0040D91683105114501F500001090311120602303C16010 类型
"REC UNREAD" 0
"REC READ" 1
"STO UNSENT" 2
"STO SENT" 3
"ALL" 4
CMGS 发送SMS,可按文本方式或PDU方式
AT+CMGF=1
OK
AT+CMGS=13501154105
> AAA<^Z>
+CMGS: 204
OK
AT+CMGF=0
OK
AT+CMGS=18
>0011000D91683105114501F500040103414141<^Z>
+CMGS: 205
OK 按文本方式发送
按PDU方式发送
CMGW 写信息到存储器
AT+CMGW="+8613501154105"
> AAA<^Z>
+CMGW: 5
OK
AT+CMGW=<lengh><CR><pdu><^Z> 按文本方式写入
按PDU方式写入
CMSS 从存储器中发送信息
AT+CMSS=5
+CMSS: 207
OK
+CMT: ,23
0891683108100005F0040D91683105114501F500001090316163932303C16010
AT+CMSS=5,+8613501154102
+CMSS: 210
OK 发送存储器中的第5条信息
收到信息
也可将第5条信息发送到指定用户
CSMP 设置文本格式参数,+CSMP:<fo><vp><pid><dcs>
AT+CSMP?
+CSMP: 1,167,0,0 其中为信息有效期,
167默认
0-143:(VP+1)*5分钟
143-167:12小时+(VP-143)*30分钟
168-196:(VP-166)*1天
197-255:(VP-192)*1周
CMGD 删除信息,AT+CMGD=<索引>
CSCA 短信息服务中心号码
at+csca?
+CSCA: "+8613800100500",145
OK 北京短信息服务中心号码
CSCB 选择小区广播信息类型
WCBM 小区广播信息标识符
WMSC 信息状态更正
WMGO 信息重写
在你用at+cmgr命令之前,应该先用at+cpms命令指定读取SMS的地方,比如at+cpms="SM"表示从SIM卡读取短信。
可以读取的地方有:
SM. It refers to the message storage area on the SIM card.
ME. It refers to the message storage area on the GSM/GPRS modem or mobile phone. Usually its storage space is larger than that of the message storage area on the SIM card.
MT. It refers to all message storage areas associated with the GSM/GPRS modem or mobile phone. For example, suppose a mobile phone can access two message storage areas: "SM" and "ME". The "MT" message storage area refers to the "SM" message storage area and the "ME" message storage area combined together.
BM. It refers to the broadcast message storage area. It is used to store cell broadcast messages.
SR. It refers to the status report message storage area. It is used to store status reports.
TA. It refers to the terminal adaptor message storage area.
楼主,我注意到你在调用at+cpms命令时,后面跟的参数用的是小写字母"sm"。这肯定有问题。既然是用引号括起来的,肯定对大小写敏感。由于默认的参数"SM"在你之前获取短信时就失败了,感觉你手机的短信可能存于手机内存中,你可以使用at+cpms="MT"命令来指定同时从SIM卡和手机内存读取,这样会比较保险。再次,请注意引号内必须是大写。
信息中心号码应该是AT+CSCA?
少个问号
可能AT+CMGR不能用于智能机吧。
http://discussion.forum.nokia.com/forum/showthread.php?t=101608
连接后 查找端口为COM11
然后通过AT指令 ATD+86151*****;&CHR(13)
成功打电话
然后通过AT指令成功发信息
你最好加一条:at&f
然后再用atd拨
因为,这条是初始化命令,你先试一下吧.