AT命令

命令 发送数据格式 回复数据格式 备注
测试命令 AT\r\n AT,OK\r\n
复位命令 AT+RST\r\n AT,OK\r\n
读取版本命令 AT+VER\r\n AT,V0.3,OK\r\n 版本V0.3,x.x格式
进入空闲模式 AT+IDLE\r\n AT,OK\r\n STM8工作,SX1278睡眠,模块默认上电为此模式
进入睡眠模式 AT+SLEEP=1\r\n AT,OK\r\n 睡眠模式,STM8与SX1278都睡眠,只允许PC4的下降沿唤醒
退出睡眠模式 AT,WakeUp\r\n PC4的下降沿唤醒睡眠中的MCU
进入接收模式 AT+RX\r\n AT,OK\r\n 进入接收模式,接收模式为异步接收,如果是单次接收,接收完成后自动恢复到空闲模式;如果是连续接收模式,那将一直处于接收状态。
接收数据(异步) LR,XXXX,XX,ASFASDFASFD XXXX是源地址,十六进制,例如FFCA XX是两个字符,十六进制数据长度,范围为(0x01~0xFB),例如5A,代表90个字节 ASFASDFASFD是任意数据
单次接收模式下的超时提醒(异步) AT,TimeOut\r\n
查询RSSI值 AT+RSSI?\r\n AT,-XXX,\r\n 十进制表示,例如-63dB返回为:AT,-063,OK\r\n
设置模块自身地址 AT+ADDR=XXXX\r\n AT,OK\r\n 十六进制表示,范围是0000-FFFF,FFFF是特殊地址,如果一个模块设置自身地址为FFFF,那么它可以监听到同频率下所有通讯数据。
读取模块自身地址 AT+ADDR? \r\n AT,XXXX,OK\r\n 十六进制表示,范围是0000-FFFF,例如D5AA:表示地址值为0xD5AA
设置目标地址 AT+DEST=FF5A\r\n AT,OK\r\n 十六进制表示,范围是0000-FFFF,FFFF是特殊地址,如果一个模块设置目标地址为FFFF,此时模块处于广播状态
读取目标地址 AT+DEST?\r\n AT,XXXX,OK\r\n 十六进制表示,范围是0000-FFFF,例如FFAA:表示地址值为0xFFAA
配置参数 AT+CFG=433000000,20,6,10,1,1,0,0,0,0,3000,8,4\r\n AT,OK\r\n 字段顺序依次为:<br /> 载波频率(433000000),功率(20),带宽(6),扩频因子(10),纠错码(1),CRC校验(1),隐式报头(0),单次接收(0),调频(0),调频周期(0),接收超时时间(3000),用户数据长度(8),前导码长度(4)。 详细介绍见《参数配置命令表》
保存命令 AT+SAVE\r\n AT,OK\r\n 将配置参数、自身的地址,目标地址三个变量保存至EEPROM。下次开机默认使用。
发送数据命令 AT+SEND=XX\r\n AT,OK\r\n
AT,SENDING\r\n
AT,SENDED\r\n
参数:XX代表发送数据长度,范围为1-250,比如要传输25字节数据,发送AT+SEND=25\r\n,模块返回AT,OK,此时用户可以通过串口传输25个字节的任意数据。多于的数据将会被抛弃,模块接收完25个字节后,会回复“AT,SENDING\r\n”,表示模块进入发送状态,此时,用户需等待模块回复“AT,SENDED\r\n”表示此次数据发送完成。
GPIO设置命令 AT+PB0=1\r\n AT,OK\r\n 支持PB0,PD0,1代表设置为高电平,0代表低电平
GPIO读取命令 AT+PB0?\r\n AT,1,OK\r\n
AT,0,OK\r\n
支持PB0,PD0,1代表设置为高电平,0代表低电平
PWM设置命令 AT+PWM1=X,YYYYY,ZZZZZ\r\n AT,OK\r\n PWM1在PB0输出,PWM2在PD0输出,X是从16MHz基频的预分频,范围1-8
YYYYY是周期,范围2-65535
ZZZZZ是脉冲宽度,范围1-65535,PWM频率的计算方法:16Mhz/(Presacler+1)/Peroid
PWM占空比的计算方法:(pulse/Peroid)*100%

参数配置命令表

命令字段 描述 范围 示例
载波频率 模块工作时的载波频率,十进制,用9个字符表示 410MHz-470MHz 433000000
功率 发射功率,十进制,用2个字符表示 5dBm-20dBm 20
调制带宽 发射占用信道的带宽,带宽越大发送数据越快,但灵敏度也就越低。配置命令中仅使用带宽的代号,不用出现实际带宽数。 7.8K-500K,代号与带宽对应关系如下:
0: 7.8KHz
1: 10.4KHz
2: 15.6KHz
3: 20.8KHz
4: 31.2KHz
5: 41.6KHz
6: 62.5KHz
7: 125KHz
8: 250KHz
9: 500KHz
6
扩频因子 扩频通讯的关键参数,扩频因子越大发送数据越慢,但灵敏度也就越高。配置命令中仅使用扩频因子的代号,不用出现实际扩频因子。 64-4096,代号与扩频因子的对应关系如下:
6: 64
7: 128
8: 256
9: 512
10: 1024
11: 2048
12: 4096
10
纠错码 扩频通讯的关键参数,配置命令中仅使用纠错码的代号,不用出现实际纠错码。 4/5-4/8,代号与纠错码对应关系如下:
1: 4/5
2: 4/6
3: 4/7
4: 4/8
1
CRC校验 用户数据CRC校验 0: 关闭
1: 开启
1
隐式报头 0: 显式
1: 隐式
0
单次接收 接收模式设置 0: 连续
1: 单次
0
跳频设置 0: 不支持
1: 支持
0
接收数据的超时时间 接收数据超时时间,在单次接收模式下,当超过此时间还没接收到数据软件,模块报超时错误, 并自动进入SLEEP模式,十进制表示,单位为毫秒 1-65535 3000
用户数据长度 用户数据长度,十进制表示作用:应用在隐式报头模式下,指定模块发送和接收数据的长度(此长度=实际用户数据长度+4)。显示报头下无效。 5-255 8
前导码长度 前导码长度,十进制表示 4-65535 4

命令错误码

命令错误 含义
ERR:CMD\r\n 命令错误,发送的命令格式错误
ERR:CPU_BUSY\r\n CPU忙错误
ERR:RF_BUSY\r\n SX1278忙错误,当用户发送数据时,SX1278没有完成上次的发送任务会返回此错误
ERR:SYMBLE\r\n 命令的后面只能识别=或者?,如果某个命令不支持标识符或者用户发送了错误的标识符会返回此错误
ERR:PARA\r\n 参数错误,如果用户在=标识后面输入了错误的参数,返回此错误