因为工作上的一点需要,涉及到AT指令集。因此专门找了一点内部资料总结一下。
1.AT指令类型
因为AT指令是作为一个接口标准,所以它的指令返回值和格式都是固定的,总体上说AT指令有四种形式:
- 无参数指令:一种简洁的指令,格式是AT[+|&]<command>,如: AT+CSQ、AT&V
- 查询指令:用来查询该指令当前设置的值,格式是AT[+|&]<command>?,如: AT+CNMI?
- 帮助指令:用来列出该指令的可能参数,格式是AT[+|&]<command>=?,如: AT+CMGL=?
- 带参数指令:比较常用的一种格式,它为指令提供了强大的灵活性,格式是AT[+|&]<command>=<par1>,<par2>,<par3>…
这种指令的返回值根据不同的指令示不一样的,这在后面的指令详解中将具体给出。但是返回值的基本框架格式为:
<CR><LF><回应字串><CR><LF>
<CR><LF><OK/ERROR>[ERROR信息]<CR><LF>
2.AT指令格式
以下给出了支持的AT指令和返回说明:
AT指令格式:AT指令都以”AT”开头,以<CR>结束,模块运行后,串口默认的设置为:8位数据位、1位停止位、无奇偶校验位、硬件流控制(CTS/RTS),默认速率为115200bps
AT指令返回格式:<跟AT指令相关的字符串><CR><LF>也有个别例外情况,如ATV0(响应格式)、ATQ1(压缩结果代码)
AT指令状态报告(OK、ERROR)有以下几种情况:
·若AT指令格式错误,会返回”ERROR”字符串
·如果使能了扩展错误报告(+CMEE),会返回字符串”+CME ERROR:<Err>“或者”+CMS ERROR:<SmsErr>“和不同的错误代码。
·如果AT指令执行成功,会返回字符串”OK”。
明天我会详细介绍AT各种指令格式和用法、功能。