通用 AT命令集

备注

通用 AT命令集默认启用,且无法关闭。

AT+TEST

功能说明

  • 测试 AT 命令是否已就绪

  • 测试 AT 底层外设接口的吞吐量

命令格式

AT+TEST=[<mode>, <length>/<string>]

响应格式

成功响应:

OK

错误响应:

ERROR: <error_no>

参数

<mode>:

测试模式

  • 0: 回显测试

  • 1: 上行速率测试

  • 2: 下行速率测试

<length>:

速率测试时交互的数据量

<string>:

回显测试时的输入字符串

错误代码

  • 1: 参数错误

  • 2: 内存分配错误

备注

当 <mode> 设置为上行速率测试时,将进入 透传(TT)模式 模式。

示例

  • 测试 AT 命令是否就绪:

    AT+TEST
    
    OK
    
  • 测试回显功能:

    AT+TEST=0,echo_test
    
     arg len = 9
    
     arg = echo_test
    
    OK
    
  • 测试上行速率:

    AT+TEST=1,102400
    
    >>>
    
    upstream test(tt mode): Send 100 KBytes in <时间> ms, <吞吐量> Kbits/sec
    
    OK
    
  • 测试下行速率:

    AT+TEST=2,102400
    
    OK
    

AT+GMR

功能说明

输出版本等相关信息

命令格式

AT+GMR

响应格式

成功响应:

AMEBA-RTOS SDK VERSION: <SDK版本号>
ATCMD VERSION: <AT命令版本号>
IMAGE VERSION: <当前固件版本号>
<芯片昵称>: <芯片信息>
COMPILE TIME: <编译时间>
COMPILE USER: <编译用户>
COMPILE ENV : <编译环境>

OK

参数

示例

获取版本信息:

AT+GMR
AMEBA-RTOS SDK VERSION: 1.1.0
ATCMD VERSION: 2.4.1
IMAGE VERSION: 1.1
amebasmart: e1ffe0ff2504cc5383c030d6ffffff28
COMPILE TIME: 2025-03-26 14:06:55
COMPILE USER: user@linux
COMPILE ENV : arm-none-eabi-gcc

OK

AT+LIST

功能说明

列出当前支持的所有 AT 命令

命令格式

AT+LIST

响应格式

成功响应:

Common AT Command:
AT+TEST
// … followed by other common command list.
Wi-Fi AT Command:
AT+WLSOFTAP
// … followed by other Wi-Fi command list.
NETWORK AT command:
AT+SKTGETERR
// … followed by other TCP/IP command list.
BT AT command:
AT+BLECMODE
// … followed by other BT command list.
MQTT AT command:
AT+MQTTOPEN
// … followed by other MQTT command list.

OK

参数

AT+RST

功能说明

立即重启模块

命令格式

AT+RST

响应格式

成功响应:

OK

参数

AT+STATE

功能说明

获取任务的状态和当前堆信息

命令格式

AT+STATE

响应格式

成功响应:

Task List:
<线程名>  <状态>  <优先级>  <可用栈水线>  <任务序号>
...

HeapStats:
Total Heap: <堆总大小>
Heap Free Now: <当前可用堆大小>
Heap Used Now: <当前已用堆大小>
Heap Used Max: <历史已用堆最大值>

OK

备注

在 <状态> 字段中:

  • X 表示运行中

  • R 表示就绪状态

  • B 表示阻塞

  • S 表示挂起

  • D 表示已删除

参数

AT+OTACLEAR

功能说明

清除当前应用固件的签名

用户批量生产时用于切换固件。

备注

该命令仅支持在 手动测试模式 下使用。

命令格式

AT+OTACLEAR

响应格式

成功响应:

OK

参数

AT+OTARECOVER

功能说明

恢复被 AT+OTACLEAR 清除的应用固件的签名

用户批量生产时用于切换固件。

备注

该命令仅支持在 手动测试模式 下使用。

命令格式

AT+OTARECOVER

响应格式

成功响应:

OK

参数

AT+CPULOAD

功能说明

获取 CPU 负载的统计信息

备注

该命令仅支持在 手动测试模式 下使用。

命令格式

AT+CPULOAD=<mode>[,<interval>,<count>]

响应格式

成功响应:

  • mode == 0:

    +CPULOAD:OK
    current mode: <mode> time: <interval>(s) count: <count>(-1 for infinite)
    task name  state  prio  CPU%
    <cpu_stat_thread>  R  10  99.87
    <task_1>  r  0  0.01
    <task_2>  b  9  0.01
    // Other task lists if exist.
    // Wait for <interval> second, the next output, at most <count> times totally.
    
  • mode == 1:

    +CPULOAD:OK
    current mode: <mode> time: <interval>(s) count: <count>(-1 for infinite)
    // Stop here if there is an infinite statistic.
    
  • mode == 2mode == 3:

     +CPULOAD:OK
     current mode: <mode> time: <interval>(s) count: <count>(-1 for infinite)
     task name  state  prio  CPU%
     <cpu_stat_thread>  R  10  99.87
    ...
    

错误响应:

ERROR:<error_no>

参数

<mode>:

读取 CPU 负载的模式

  • 0:创建 CPU 负载统计任务

  • 1:如果任务正在运行,则立即输出信息,并减少计数;如果是无限次统计,则立即停止

  • 2:更新统计时间

  • 3:从上次统计时间开始输出信息

<interval>:

间隔时间(秒)

  • [1, INT_MAX]

<count>:

统计次数,0 或 -1 表示无限次

  • [-1, INT_MAX]

错误代码

  • 1: 参数数量错误

  • 2: 内存分配错误

  • 3: 输入模式错误

  • 4: 任务数量超过限制

示例

使用命令 AT+CPULOAD:

AT+CPULOAD=0
// Output...
AT+CPULOAD=1
+CPULOAD:OK
// Additional examples...

AT+LOG

功能说明

获取、设置或清除日志级别

命令格式

AT+LOG=<op>[,<module>,<log_level>]

响应格式

成功响应:

OK

<module> level = <log_level>
OK

错误响应:

ERROR:<error_no>

参数

<op>:

操作类型

  • 0:获取日志级别

  • 1:设置日志级别

  • 2:输出所有日志级别

  • 3:清除所有日志级别

<module>:

特定模块名称

  • 字符串,* 表示所有模块

  • 长度不应超过 9 字节

<log_level>:

日志级别

  • [0,5]

错误代码

  • 1: 参数错误

  • 2: 设置失败

示例

日志级别操作:

AT+LOG=1,module1,3
AT+LOG=0,module1
AT+LOG=2
AT+LOG=3

AT+RREG

功能说明

读取通用寄存器的值

备注

该命令仅支持在 手动测试模式 下使用。

命令格式

AT+RREG=<address>[,<length>,<in_byte>]

响应格式

成功响应:

[address] <address的值> <address+4的值> <address+8的值> <address+12的值>

OK

错误响应:

ERROR:<error_no>

参数

<address>:

寄存器起始地址

  • 地址 4 字节对齐;如果未对齐,会自动进行对齐

<length>:

读取的长度,单位由 <in_byte> 决定

<in_byte>:

以字(word)或字节为单位

  • Bb,表示以字节为单位

  • Bb,表示以字为单位

小心

输入的地址必须有效,否则可能导致系统崩溃。

错误代码

  • 1: 参数错误

示例

  • 以字为单位,读取 0x420080E0 地址开始的 40 个字的数据:

    AT+RREG=0x420080E0,40
    [420080e0] 00000000 00000000 00000000 00000000 bdc00512 00000000 ffffffff 00000000
    [42008100] 0135110d 80010904 48380b77 00000061 e083f565 0000004e 00000000 00000000
    [42008120] 0000001c 00000000 00000000 00000000 0040557f 00000000 00000000 00000000
    [42008140] f62f98db 927956a0 00004910 00000000 4275fbb9 000000c5 00000000 00000000
    [42008160] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    
    OK
    
  • 以字节为单位,读取 0x420080E0 地址开始的 40 个字节的数据:

    AT+RREG=0x420080E0,40,b
    [420080e0] 00 00 00 00 00 00 00 00
    [420080e8] 00 00 00 00 00 00 00 00
    [420080f0] 12 05 c0 bd 00 00 00 00
    [420080f8] ff ff ff ff 00 00 00 00
    [42008100] 0d 11 35 01 04 09 01 80
    
    OK
    

AT+WREG

功能说明

将一个字(word)的数据写入对应的通用寄存器

备注

该命令仅支持在 手动测试模式 下使用。

命令格式

AT+WREG=<address>,<data>

响应格式

成功响应:

OK

错误响应:

ERROR:<error_no>

参数

<address>:

寄存器地址

  • 地址 4 字节对齐;如果未对齐,会自动进行对齐

<data>:

待写入的字(word)的数据

小心

输入的地址必须有效,否则可能导致系统崩溃。

错误代码

  • 1: 参数错误

示例

在 0x420080E0 地址写入 0x12345678 的数据:

AT+WREG=0x420080E0,0x12345678
[420080e0] 12345678

OK

AT+TICKPS

功能说明

系统低功耗测试

备注

该命令仅支持在 手动测试模式 下使用。

命令格式

AT+TICKPS=<op>[,<type>]

参数

<op>:

低功耗操作

  • R: 释放低功耗锁,允许进入低功耗

  • A: 拿住低功耗锁,不允许进入低功耗

  • TYPE: 设置低功耗的类型

  • GET: 获取低功耗信息

<type>:

仅当 <op> 为 TYPE 时需要

  • PG:Power-gating 模式

  • CG:Clock-gating 模式

示例

  • 设置低功耗模式为 CG 模式:

    AT+TICKPS=TYPE,CG
    
  • 进入低功耗:

    AT+TICKPS=R
    
  • 获取低功耗信息:

    AT+TICKPS=GET
    lockbit:1
    dslp_lockbit:1