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条目 |