跳转至

CMGW

把消息写入存储器:AT+CMGW

使用设置指令,可将SMS(SMS-DELIVER 或 SMS-SUBMIT)从TE发送到存储器<mem2>,并返回已存储消息的存储位置<index>参数。除非<stat>指定其他参数,否则,该消息的状态将被设置为"存储未发送"。

语法规则:

命令类型 语法 返回和说明
设置命令 TEXT模式下(AT+CMGF=1):
AT+CMGW[=<oa/da>[,<tooa/toda>[,<stat>]]]<CR>text is entered<ctrl-Z/ESC>
成功,返回:
+CMGW: <index>
OK
说明:<Ctrl+Z>即十六进制的1A,<ESC>即十六进制的1B
失败则返回:
+CMS ERROR: <err>
PDU模式下(AT+CMGF=0):
AT+CMGW=<length>[,<stat>]<CR> PDU is given<ctrl-Z/ESC>
成功,返回:
+CMGW: <index>
OK
说明:<Ctrl+Z>即十六进制的1A,<ESC>即十六进制的1B
失败则返回:
+CMS ERROR: <err>
测试命令 AT+CMGW=? 返回:OK

参数定义:

参数 定义 取值 对取值的说明
<da> 目的地址(Destination Address) - GSM 03.40 TP-Destination-Address 中"地址-取值"字 段,字符型;将 BCD 数值(或缺省 GSM 字母格式的字符) 转换为当前选择的 TE 字符集中的字符(请参考 TS 07.07 中的+CSCS 指令);地址类型由<toda>定义
<toda> 目的地址类型(Type of <da> - 整数型的 GSM 04.11 TP-Destination-Address 中的 8 位"类型-地址"字段(当<da>的首字符为+(IRA 43)时, 缺省值为 145;否则缺省值为 129)
<oa> 源地址(OriginatingAddress) - GSM 03.40 TP-Originating-Address 中"地址-取值"字 段,字符型;将 BCD 数值(或缺省 GSM 字母格式的字符) 转换为当前选择的 TE 字符集中的字符(请参考 TS 07.07 中的+CSCS 指令);地址类型由<tooa>定义
<tooa> 源地址类型(Type of <oa> - 整数型的 GSM 04.11 TP-Originating-Address 中的 8 位"类型-地址"字段(当<oa>的首字符为+(IRA 43)时, 缺省值为 145;否则缺省值为 129)
<length> PDU短信长度 - 整数型。该长度不将短信中心号码的长度计算在内
<stat> 短信状态 REC UNREAD 已接收的未读消息(TEXT模式下,即+CMGF=1)
REC READ 已接收的已读消息(TEXT模式下,即+CMGF=1)
STO UNSENT 存储未发送消息(TEXT模式下,即+CMGF=1)
STO SENT 存储已发送消息(TEXT模式下,即+CMGF=1)
0 已接收的未读消息(PDU模式下,即+CMGF=0)
1 已接收的已读消息(PDU模式下,即+CMGF=0)
2 存储未发送消息(PDU模式下,即+CMGF=0)
3 存储已发送消息(PDU模式下,即+CMGF=0)

举例:

命令(→)/返回(←) 实例 解释和说明
存储一个TEXT短信(英文):
AT+CMGF=1 设置为TEXT模式
OK
AT+CSCS="GSM" 或AT+CSCS="IRA"
OK
AT+CSMP=17,167,0,0
OK
AT+CMGW="139****6785" 发送短信给目的号码
> 此时会返回>
HI! 返回>后,输入短信内容,然后输入 <Ctrl+Z>即0x1A就可以保存短信
+CMGW: 6
OK
返回的index=6,表示该短信在存储区的位置是第6个
存储一个TEXT短信(中文):
AT+CMGF=1 设置为TEXT模式
OK
AT+CSCS="GSM" 设置AT命令中字符的编码格式为UCS2
OK
AT+CSMP=17,167,0,8 Dcs=8,表示短信存放的格式为UCS2编码
OK
AT+CMGW="10086" 目的地址是10086(UCS2编码格式)
内容为"感谢"(UCS2编码格式)
> 此时会返回>
611F8C22<Ctrl+Z> 返回>后,输入短信内容611F8C22(hex格式),然后输入<Ctrl+Z>即0x1A就可以保存短信
+CMGW: 7
OK
该短信存在index=7的位置
存储一个PDU短信:
AT+CMGF=0 设置为PDU格式
OK
AT+CMGW=19
> 此时会返回>
0011100D91683161450179F900080004611F8C22<Ctrl+Z> PDU格式短信内容为"感谢"。然后输入 <Ctrl+Z>即0x1A就可以保存短信
+CMGW: 8
OK
该短信存在index=8的位置