# 基础指令
#AT
测试AT系统启动
#执行命令
命令:
AT
响应:
OK
#AT+RST
重启模块
#执行命令
命令:
AT+RST
响应:
OK
#AT+GMR
查看版本信息
#执行命令
命令:
AT+GMR
响应:
<Firmware sn> <Firmware crc> <Driver version> <Firmware info> OK
#参数
Firmware sn: MXCHIP用于管控固件的唯一标识,在<at_project>/CMakeLists.txt中定义
Firmware crc:实时计算得出的Flash中Application分区的CRC
Driver version:驱动版本
Firmware info:包含
- Name:固件名称,如“BLE AT”,在<at_project>/CMakeLists.txt中定义
- Git commit:Git仓库源代码提交版本信息
- Version:版本,格式是<major>.<minor>,在<at_project>/CMakeLists.txt中定义
#AT+CMD
查看支持的AT指令
#查询命令
命令:
AT+CMD?
响应:
+CMD:<index>,<"name">[,<"EXE">,<"QUERY">,<"SET">] OK
#参数
- index: 指令编号
- name:指令名称
- EXE:支持执行指令
- QUERY:支持查询指令
- SET:支持设置指令,设置指令始终同时支持测试指令
#AT+SYSLOG
启用或禁用 AT 错误代码提示
#查询命令
命令:
AT+SYSLOG?
响应:
+SYSLOG:<status> OK
#设置命令
命令:
AT+SYSLOG=<status>
响应:
OK
#参数
<status>:错误代码提示状态
- 0:禁用
- 1:启用
#示例
// 启用 AT 错误代码提示 AT+SYSLOG=1 OK AT+FAKE ERR CODE:0x01090000 ERROR // 禁用 AT 错误代码提示 AT+SYSLOG=0 OK AT+FAKE // 不提示 `ERR CODE:0x01090000` ERROR
#AT+SYSMSG
查询/设置系统提示信息
#查询命令
命令:
AT+SYSMSG?
响应:
+SYSMSG:<state> OK
#设置命令
命令:
AT+SYSMSG=<state>
响应:
OK
#参数
<state>:
Bit0:退出串口数据接收模式时是否打印提示信息,参考 AT+BLEGATTSNTFY
- 0:不打印
- 1:打印 +QUITT
Bit1:连接时提示信息类型,目前暂无支持的连接事件
- 0:使用简单版提示信息
- 1:使用详细版提示信息
Bit2:AT事件提示信息
- 0:不打印事件信息
- 1:打印事件信息,如:
+BLECONN:蓝牙连接建立
+BLEDISCONN:蓝牙连接断开
+NOTIFY_ENABLED:透传发送属性的Notify开启
+NOTIFY_DISABLED:透传发送属性的Notify关闭
+SEND_OK:发送成功
+SEND_FAIL:发送失败
+SEND_CANCELED:发送取消
#说明
- 若 AT+SYSSTORE=1,配置更改将被保存在KV 分区。
- 若设 Bit0 为 1,退出 Wi-Fi 透传模式 时会提示 +QUITT。
#示例
// 打开AT事件信息 AT+SYSMSG=4 OK +BLECONN //当BLE连接建立时 +NOTIFY_ENABLED //当Notify开启时
#AT+SYSSTORE
设置参数存储方式
#查询命令
命令:
AT+SYSSTORE?
响应:
+SYSSTORE:<store_mode> OK
#设置命令
命令:
AT+SYSSTORE=<store_mode>
响应:
OK
#参数
<store_mode>:参数存储模式
- 0:命令配置不存入 flash
- 1:命令配置存入 flash(默认)
#说明
- 该命令只影响设置命令,不影响查询命令,因为查询命令总是从 RAM 中调用。
- 本命令会影响以下命令:
AT+BLENAME
AT+POWER
AT+BLEADVPARM
AT+BLEADVDATA
AT+BLEADVDATAEX
AT+SYSMSG
#AT+CIPMODE
网络数据在串口的输出格式
#查询命令
命令:
AT+CIPMODE?
响应:
+CIPMODE:<mode> OK
#设置命令
命令:
AT+CIPMODE=<mode>
响应:
OK
#参数
<mode>:数据显示方式
- 0:以AT事件方式输出:+WRITE,<xxx>:<raw data>CR-LF
- 1:直接在串口以RAW data形式输出接收到的网络数据,即将网络数据透传到串口。
#示例
AT+CIPMODE=0 OK +WRITE,5:Hello //以AT事件的形式输出 AT+CIPMODE=1 OK Hello //以RAW data的形式输出
#AT+RESTORE
恢复出厂设置
#执行命令
命令:
AT+RESTORE
响应:
OK
#说明
- 该命令将擦除所有保存到 flash 的参数,并恢复为默认参数。
- 运行该命令会重启设备。
#AT+UART_CUR
配置UART当前临时配置,不保存到flash
#查询命令
命令:
AT+UART_CUR?
响应:
+UART_CUR:<baudrate>,<databits>,<stopbits>,<parity>,<flow control> OK
#设置命令
命令:
AT+UART_CUR=[<baudrate>,<databits>,<stopbits>,<Parity>,<flow control>]
响应:
OK
#参数
<baudrate>:UART 波特率,MX1510系列模组支持范围为 1200 ~ 2000000
<databits>:数据位
- 5:5 bit 数据位
- 6:6 bit 数据位
- 7:7 bit 数据位
- 8:8 bit 数据位
<stopbits>:停止位
- 1:1 bit 停止位
- 2:1.5 bit 停止位
- 3:2 bit 停止位
<parity>:校验位
- 0:None
- 1:Odd
- 2:Even
<flow control>:流控
- 0:不使能流控
- 1:使能 RTS
- 2:使能 CTS
- 3:同时使能 RTS 和 CTS
#说明
- 查询命令返回的是 UART 配置参数的实际值,由于时钟分频的原因,可能与设定值有细微的差异。
- 本设置不保存到 flash。
- 使用硬件流控功能需要连接设备的 CTS/RTS 管脚,目前MX1510系列模组暂不支持流控制
#示例
AT+UART_CUR=115200,8,1,0,3
#AT+UART_DEF
配置UART当前临时配置,并且保存到flash
#查询命令
命令:
AT+UART_DEF?
响应:
+UART_DEF:<baudrate>,<databits>,<stopbits>,<parity>,<flow control> OK
#设置命令
命令:
AT+UART_DEF=[<baudrate>,<databits>,<stopbits>,<Parity>,<flow control>]
响应:
OK
#参数
请参考AT+UART_CUR命令
#说明
- 本设置保存到 flash的KV分区。当设备再次上电时仍然有效
- 查询指令读取的是KV分区中保存的参数,可能和当前串口参数不同
#示例
AT+UART_DEF=115200,8,1,0,3
#AT+UARTPACK
串口数据的打包处理方式
#查询命令
命令:
AT+UARTPACK?
响应:
+UARTPACK:<pack_mode> O
#设置命令
命令:
AT+UARTPACK=<pack_mode>
响应:
OK
#参数
<pack_mode>:UART数据打包处理方式,详细请参考该页面 工作模式切换 内容。
- 0:RAW DATA模式,数据达到最大长度,或者一段时间没有收到新的数据后,将数据打包发送到预定义的网络通道。收到的网络数据也直接发送到串口
- 1:AT模式:按照AT命令的格式解析数据(以AT开始,CR-LF结束),发送给AT子系统处理。在该模式下,自动启动AT指令的回显功能。
- 2:AUTO模式:如果头两个字节是“AT”,则以AT模式处理数据,否则,按照RAW DATA模式打包并处理。
#示例
AT+CIPMODE=0 OK +WRITE,5:Hello //以AT事件的形式输出 AT+CIPMODE=1 OK Hello //以RAW data的形式输出