跳转至

CNMA

新短消息确认:AT+CNMA

使用执行命令,可确认是否正确接收新消息(SMS-DELIVER 或SMS-STATUS-REPORT),该新消息是由 MT 直接发送到 TE 而不缓存。

在同时满足2个条件的情况下,需要通过AT+CNMA给出短信确认:

→通过 AT+CSMS=1,将<service>设为1;

→通过AT+CNMI命令将<mt>设为2或者将<ds>设置为1;

在满足上述2个条件后,TE如果在收到短信后没有通过AT+CNMA给MT确认,CNMI的参数<mt><ds>会被重置为0,MT也不再给TE发短信。

语法规则:

命令类型 语法 返回和说明
执行命令 TEXT模式(AT+CMGF=1):AT+CNMA OK
PDU模式(AT+CMGF=0):
AT+CNMA[=<n>[,<length>[<CR>PDUis given<ctrl-Z/ESC>]]]
OK
说明:<Ctrl+Z>即十六进制的1A,<ESC>即十六进制的1B
测试命令 AT+CNMA=? OK

参数定义:

参数 定义 取值 对取值的说明
<n> PDU模式下确认短信的方式 0 该指令与文本模式定义的指令执行类似
1 发送 RP-ACK(或正确接收到的缓冲结果码)
2 发送 RP-ERROR(若 PDU 未给定,ME/TA 将发送 GSM 03.40 TP-FCS 取值设定为 "FF"的 SMS-DELIVER-REPORT 消息(非请求错误原因))

举例:

命令(→)/ 返回(←) 实例 解释和说明
具体实例请参考+CNMI条目