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的位置 |