使用手册
1概述
Air5101系列是一款基于BLE 5.2技术的低功耗蓝牙(BLE)透传模块,兼具高性能与低功耗特性。本系列模块提供完整的AT指令集配置接口和透明数据传输模式,极大简化了无线通信应用的开发流程。
系列型号说明:
● Air5101S:工作于从模式,可被手机、主机等连接。
● Air5101M:工作于主模式,可主动扫描并连接其他从设备。
注意:Air5101S和Air5101M两者硬件封装一致,仅固件差异。
蓝牙技术规格
● 蓝牙版本:BLE 5.2;
● 协议标准:低功耗蓝牙(BLE);
● 通信距离:参考距离10~20米(注:具体距离取决于环境和使用条件);
● 数据传输率:物理层理论支持 1Mbps,短包格式传输;
● 发射功率:-40dBm~6dBm;
● 接收灵敏度 < -96 dBm;
工作模式
● AT指令模式:通过串口发送AT指令配置模块参数;
● 透传模式:建立连接后数据透明传输,无需协议封装;
● 快速切换:支持两种工作模式的热切换;
应用场景
本模块适用于各类物联网设备和无线通信应用,包括但不限于:
● 灯控、玩具控制;
● 数据透传模块;
● 无线传感设备;
● 其他专用设备;
功耗说明:
Air5101S 支持三种功耗模式,常规模式、低功耗模式和休眠模式;
1. 常规模式:具体功耗与广播,连接的工作间隔有关,具体请参考第三章节的功耗说明。
2. 低功耗模式:具体功耗与广播,连接的工作间隔有关,具体请参考第三章节的功耗说明。
3. 休眠模式:蓝牙不工作,整机功耗 2uA 左右;
2 硬件说明
脚位说明
表1 Air5101模组管脚定义
引脚号 | 引脚名 | 类型 | 功能 |
---|---|---|---|
1 | GND | 地 | 电源地 |
2 | RXD | 输入 | 串口数据接收(同时也是SWD烧录口:SWCLK) |
3 | TXD | 输出 | 串口数据发送(同时也是SWD烧录口:SWDIO) |
4 | GND | 地 | 电源地 |
5 | VBAT | 电源 | 模组工作电源输入 |
6 | GND | 地 | 电源地 |
7 | PA14 | 输出 | 蓝牙连接状态指示(0-未连接,1-已连接),兼作主控唤醒信号 |
8 | PA17 | 输出 | 看门狗复位输出,用于重启主控芯片 |
9 | PA19 | 输入 | RST复位信号,复位模组 |
10 | GND | 地 | 电源地 |
电平说明
Air5101S,串口电平默认3.3V;
Air5101S-1.8V,串口电平默认1.8V;
天线说明
集成板载PCB天线;
温度
-40°C~+85°C
(这个温度范围,也就是大家常说的“工业级”)
供电
1.8V时,供电范围2.0V--5.5V
3.3V时,供电范围3.0V--5.5V
模组封装
资料中心 - product@air5101 - 合宙模组资料中心
3 功耗说明
工作状态 | 发射功率 (dbm) | 功耗模式 | 工作间隔 (ms) | 峰值电流 (mA) | 底电流 (uA) | 平均电流 (uA) |
---|---|---|---|---|---|---|
广播 | 6 | 常规模式 | 30 | 17.6 | 2100 | 2690 |
100 | 17.5 | 2100 | 2300 | |||
500 | 18.1 | 2110 | 2150 | |||
1000 | 17.45 | 2110 | 2120 | |||
低功耗模式 | 30 | 17.62 | 76.48 | 1100 | ||
100 | 17.49 | 2 | 483.43 | |||
200 | 17.71 | 1.97 | 235.62 | |||
500 | 17.34 | 1.98 | 93.93 | |||
1000 | 17.77 | 1.97 | 52.69 | |||
3000 | 17.73 | 1.96 | 20.15 | |||
5000 | 16.7 | 2.2 | 12.34 | |||
10000 | 17.2 | 2.1 | 8.4 | |||
连接 | 常规模式 | 50 | 19.06 | 2110 | 2240 | |
380 | 19.5 | 2100 | 2100 | |||
500 | 19.03 | 2090 | 2080 | |||
1000 | 19.06 | 2070 | 1070 | |||
低功耗模式 | 35 | 17.58 | 75.94 | 1070 | ||
50 | 19.67 | 2.04 | 635 | |||
500 | 18.8 | 2.16 | 74.17 | |||
1000 | 18.5 | 2.17 | 43.18 |
4 蓝牙服务说明
4.1 设备基本信息
默认设备名称-“Air5101S”
4.2 蓝牙服务定义
Service UUID:
{0x16,0x0a,0x10,0x40,0xd1,0x9f,0x4c,0x6c,0xb4,0x55,0xe3,0xf7,0x00,0xff,0x00,0x00}
Characteristic1 UUID:
{0x16,0x0a,0x10,0x40,0xd1,0x9f,0x4c,0x6c,0xb4,0x55,0xe3,0xf7,0x01,0xff,0x00,0x00}
特征属性:NOTIFY | INDICATE
Characteristic2 UUID:
{0x16,0x0a,0x10,0x40,0xd1,0x9f,0x4c,0x6c,0xb4,0x55,0xe3,0xf7,0x02,0xff,0x00,0x00}
特征属性:WRITE | WRITE NO RESPONSE
5 串口传输说明
数据传输分为 AT 指令模式和透传模式,两者可以随时切换;默认为透传模式,可以发送“AT+UA”进入AT指令模式。
5.1 AT指令模式
AT指令模式默认为ASCII通讯,ASCII 通讯方式有大端模式和小端模式两种,具体应用去请查看对应指令。
通过特定 AT 指令,可以设置通讯模式或蓝牙参数,可以通过“AT+BLEUART”指令切换为透传模式;返回信息有回车换行符(\r\n)。
5.2 透传模式
纯数据交互,APP(串口)输入什么数据,同时串口(APP)传出什么数据,但是它会响应“AT+BLEATCMD”指令切换为 AT 指令模式。
5.3 配置保存
1. 首先,不要在有低功耗的情况下更改配置信息,包括 MAC 地址、波特率、设备名、广播内容、广播间隔、广播类型、发射功率值等;
2. 其次,如果需要执行低功耗,且更改了上述信息,需要执行“AT+SAVE”指令,将上述信息保存到 flash中,因为每次唤醒,芯片会从 flash 中读取配置信息并应用,如果没有保存,将使用默认信息。
5.4 系统重启
可以拉低 RST引脚(≥2ms)重启,或者“AT+RESTART”指令重启;复位后默认透传模式。
5.5 系统重置
可以通过“AT+DEFAULT”指令重置,恢复默认出厂设置。
5.6 蓝牙重启
由于修改蓝牙部分参数时,需要重启蓝牙部分才能应用更改,因此在用 AT 指令修改蓝牙参数时,芯片会判断蓝牙是否处于连接状态;如果处于非连接状态,蓝牙部分会立即重启应用;如果处于连接状态,参数不会立即更新应用,需要等待断开连接时,才会立即更新;参数包括广播内容、广播间隔、设备名称等。
6 指令说明
6.1基本操作指令
6.1.1获取软件版本信息:AT+VER
功能说明:
获取模块当前运行的软件版本信息。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+VER | AT:<软件版本信息> |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+VER | 获取软件版本信息 |
← | AT:1.5.0-2507041634 | 返回查询结果 |
6.1.2显示所有配置信息:AT+CFG
功能说明:
显示模块所有当前配置信息,包括名称、版本、波特率、连接状态、MAC地址、广播参数等。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+CFG |
Name:<蓝牙名称>
Version:<软件版本>
Baudrate:<串口波特率>
DataFormat:<通信数据格式>
Connected:<当前的蓝牙连接状态>
MacAddr:<蓝牙 mac地址>
AdvType:<广播类型>
AdvData:<广播数据>
ScanRsp:<扫描响应数据>
TxPwr:<发射功率>
AdvIntv:<广播间隔>
SleepMode:<低功耗模式设置>
|
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+CFG | 显示所有配置信息 |
← |
Name = Air5101S Version = 1.5.0-2507041634 Baudrate = 9600 DataFormat = ASCII Connected = False MacAddr = 0x7F0400086BDD AdvType = 0x03 AdvData = 0x0201060303121803190000 ScanRsp = 0x0A094D47D24C6966652D43 TxPwr = 15 SleepMode = 0 |
返回查询结果 |
6.1.3保存配置信息:AT+SAVE
功能说明:
将当前所有配置参数保存至 Flash,掉电或重启后仍有效。
注意事项:
1. 保存的配置信息内容包含 MAC 地址、波特率、UUID、设备名、广播内容、广播间隔、广播类型、发射功率值等;如果不执行该指令,芯片进入低功耗、掉电或重启时,以上信息会复位。
2. 低功耗模式下唤醒(无论是蓝牙自己唤醒起来广播,还是串口、IO 唤醒),都会重新从 flash 内读取配置信息,所以不要在有低功耗的情况下更改以上配置;或者在执行低功耗命令前先执行该命令立即保存,然后再执行低功耗。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+SAVE | AT:OK |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+SAVE | 保存配置 |
← | AT:OK | 保存成功 |
6.1.4恢复出厂设置:AT+DEFAULT
功能说明:
恢复模块所有配置为出厂默认值,并重启模块。
注意事项:
1. 执行AT+SAVE指令保存的信息也会被擦除。
2. 执行后模块会重启。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+DEFAULT | AT:OK |
6.1.5模组重启:AT+RESTART
功能说明:
软重启模块。
注意事项:
重启后未保存的配置将丢失。
语法规则:
命令类型 | 语法 | 返回和说明 |
---|---|---|
执行命令 | AT+RESTART | AT:OK |
6.1.6获取当前设定的串口波特率:AT+GETBAUD/AT+GD
功能说明:
获取当前设定的串口波特率。
注意事项:
返回值为整数,如 9600、115200 等。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+GETBAUD | AT:<baud> |
执行命令(简略版) | AT+GD | AT:<baud> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
<baud> |
串口波特率 | 整数 | 常见值:9600, 19200, 38400, 57600, 115200等 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+GETBAUD | 查询串口波特率 |
← | AT:9600 | 返回当前值 |
6.1.7设置串口波特率:AT+SETBAUD/AT+SD
功能说明:
设置串口波特率。
注意事项:
1. 默认波特率为9600。
2. 回复完成后,芯片会重启,并按设定的波特率初始化串口。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+SETBAUD=<baud> |
AT:OK |
执行命令(简略版) | AT+SD=<baud> |
AT:OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
<baud> |
串口波特率 | 整数 | 常见值:9600, 19200, 38400, 57600, 115200等 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+SETBAUD=9600 | 设置串口波特率为9600 |
← | AT:OK | 设置成功 |
6.2模式切换指令
6.2.1蓝牙切换为透传模式:AT+BLEUART/AT+AU
功能说明:
将模块切换为蓝牙透传模式,此时串口数据将通过蓝牙透明传输。
注意事项:
透传模式下仍然响应 AT+BLEATCMD 或 AT+UA 指令。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+BLEUART | UT:OK |
执行命令(简略版) | AT+AU | UT:OK |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+BLEUART | 进入透传模式 |
← | UT:OK | 切换成功 |
6.2.2切换为AT指令模式:AT+BLEATCMD/AT+UA
功能说明:
将模块从透传模式切换回AT指令模式。
语法规则:
命令类型 | 语法 | 返回和说明 |
---|---|---|
执行命令 | AT+BLEATCMD | AT:OK |
执行命令(简略版) | AT+UA | AT:OK |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+BLEATCMD | 进入AT指令模式 |
← | AT:OK | 切换成功 |
6.3设备信息配置指令
6.3.1获取蓝牙的设备名称:AT+GETNAME/AT+GN
功能说明:
获取当前蓝牙设备的名称。
注意事项:
1. 设备名称最大长度为20个字符。
2. 模块使用ASCII编码,此时每个字符占用1字节。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+GETNAME | AT:<name> |
执行命令(简略版) | AT+GN | AT:<name> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
<name> |
蓝牙设备名称 | 字符串 | ASCII字符,最大长度20个字符。 |
举例:
命令(→)/ 返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+GETNAME | 查询蓝牙设备名称 |
← | AT:Air5101S | 返回查询的蓝牙设备名称 |
6.3.2设置设备名称:AT+SETNAME/AT+SN
功能说明:
设置蓝牙设备的名称。
注意事项:
1. 设备名称最大长度为20个字符。
2. 模块使用ASCII编码,此时每个字符占用1字节。
3. 设置后需执行AT+SAVE保存配置。
语法规则:
命令类型 | 语法 | 返回和说明 |
---|---|---|
执行命令 | AT+SETNAME=\<name> | AT:OK |
执行命令(简略版) | AT+SN=\<name> | AT:OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<name> | 蓝牙设备名称 | 字符串 | ASCII字符,最大长度20个字符。 |
举例:
命令(→)/ 返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+SETNAME=Air5101S | 设置蓝牙设备名称 |
← | AT:OK | 设置成功 |
6.3.3获取蓝牙的MAC地址:AT+GETMAC/AT+GM
功能说明:
获取模块的蓝牙 MAC 地址。
注意事项:
1. 返回值为 14个字符的字符串,格式为 ”0x” + 12 位十六进制数。
2. 实际 MAC 地址需按字节反序解读(小端模式)。
语法规则:
命令类型 | 语法 | 返回和说明 |
---|---|---|
执行命令 | AT+GETMAC | AT:<MAC> |
执行命令(简略版) | AT+GM | AT:\<MAC> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
<MAC> |
蓝牙MAC地址 | 14个字符的字符串,格式为"0x" + 12位十六进制数 | 示例:"0x1234567890AB" |
举例:
命令(→)/ 返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+GETMAC | 查询蓝牙MAC地址 |
← | AT:0x1234567890AB | 返回查询的蓝牙MAC地址 |
6.3.4设置蓝牙的MAC地址:AT+SETMAC/AT+SM
功能说明:
设置模块的蓝牙 MAC 地址。
注意事项:
1. MAC地址为14个字符的字符串,格式为 ”0x” + 12 位十六进制数。
2. 实际 MAC 地址需按字节反序解读(小端模式)。
3. 设置后需执行AT+SAVE命令保存配置,否则重启后恢复原地址。
4. 字母不区分大小写。
语法规则:
命令类型 | 语法 | 返回和说明 |
---|---|---|
执行命令 | AT+SETMAC=<MAC> |
AT:OK |
执行命令(简略版) | AT+SM=<MAC> |
AT:OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
<MAC> |
蓝牙的 MAC 地址 | 14个字符的字符串,格式为"0x" + 12位十六进制数 | 示例:"0x1234567890AB" 1. 必须以"0x"开头 2. 12位十六进制数(0-9, A-F) 3. 字母不区分大小写 |
举例:
命令(→)/ 返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+SETMAC=0x1234567890AB | 设置蓝牙MAC地址 由于反序规则,实际将设置地址为:AB:90:78:56:34:12 |
← | AT:OK | 设置成功 |
→ | AT+GETMAC | 验证设置的MAC地址 |
← | AT:0x1234567890AB | 返回查询的蓝牙MAC地址 |
→ | AT+SAVE | 保存MAC地址配置 |
← | AT:OK | 保存成功 |
6.4蓝牙通信参数指令
6.4.1 获取广播类型:AT+GETADVTYPE/AT+GAT
功能说明:
获取当前蓝牙模块的广播类型设置。
注意事项:
1. 广播类型决定了设备是否可被其他蓝牙设备连接。
2. 更改广播类型后需执行AT+SAVE命令保存配置。
3. 广播类型会影响设备的被发现和连接行为。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+GETADVTYPE | AT:<type> |
执行命令(简略版) | AT+GAT | AT:\<type> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
<type> |
获取的蓝牙广播类型 | 0x02 0x03 |
0x02-不可连接广播包:设备只广播数据,不接受连接请求 0x03-可连接广播包:设备广播数据并接受连接请求 |
举例:
命令(→)/ 返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+GETADVTYPE | 获取当前广播类型 |
← | AT:0x03 | 返回当前广播类型为可连接广播 |
6.4.2 设置广播类型:AT+SETADVTYPE/AT+SAT
功能说明:
设置蓝牙模块的广播类型,控制设备是否允许被其他蓝牙设备连接。
注意事项:
1. 广播类型决定了设备是否可被其他蓝牙设备连接。
2. 更改广播类型后需执行AT+SAVE命令保存配置。
3. 广播类型会影响设备的被发现和连接行为。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+SETADVTYPE=<type> |
AT:OK |
执行命令(简略版) | AT+SAT=<type> |
AT:OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
<type> |
蓝牙广播类型 | 0x02 0x03 |
0x02-不可连接广播包:设备只广播数据,不接受连接请求 0x03-可连接广播包:设备广播数据并接受连接请求 |
举例:
命令(→)/ 返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+SETADVTYPE=0x03 | 设置广播类型为0x03 |
← | AT:OK | 设置成功 |
→ | AT+SAVE | 保存广播类型设置 |
← | AT:OK | 保存成功 |
6.4.3 获取广播包内容:AT+GETADV/AT+GA
功能说明:
获取当前蓝牙模块的广播数据包内容。
注意事项:
1. 广播数据包最大长度为31字节(十六进制)。
2. 数据内容以十六进制字符串形式返回,前缀为"0x"。
3. 广播数据格式遵循蓝牙AD Structure格式。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+GETADV | AT: |
执行命令(简略版) | AT+GA | AT: |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<data> | 蓝牙广播包内容 | 十六进制字符串 | 格式:"0x" + 十六进制数据 最大长度:62字符(31字节数据) |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+GETADV |
获取当前广播包内容 |
← | AT:0x0201060303121803190000 |
返回当前广播包内容 数据解析: 02 01 06 → [长度2字节][类型1-广播标志][06-通用发现模式] 03 03 12 18 → [长度3字节][类型3-16位UUID][0x1812] 03 19 00 00 → [长度3字节][类型19-设备外观][0000-未知设备] |
6.4.4 设置广播包内容:AT+SETADV/AT+SA
功能说明:
设置蓝牙模块的广播数据包内容。
注意事项:
1. 广播数据包最大长度为31字节(十六进制)。
2. 数据必须以"0x"前缀的十六进制字符串格式输入。
3. 修改广播数据后需执行AT+SAVE保存配置。
4. 广播数据格式需遵循蓝牙AD Structure规范。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+SETADV=\<data> | AT:OK |
执行命令(简略版) | AT+SA=\<data> | AT:OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
<data> |
蓝牙广播包内容 | 十六进制字符串 | 格式:"0x" + 十六进制数据 最大长度:62字符(31字节数据) |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+SETADV=0x020106 |
设置广播数据为基本广播标志 解析: 02 01 06 → [长度2][类型1-广播标志][06-通用发现模式] |
← | AT:OK |
设置成功 |
→ | AT+SAVE |
保存广播数据配置 |
6.4.5 获取扫描响应数据:AT+GETSCANRSP/AT+GSR
功能说明:
获取蓝牙模块的扫描响应数据。扫描响应数据是在设备收到扫描请求时返回的附加信息,用于提供设备名称等补充信息,不占用广播数据包的有效载荷。扫描响应数据拥有自己独立的、最大31字节的有效载荷空间。
注意事项:
1. 数据以"0x"前缀的十六进制字符串返回,最大62字符(31字节)。
2. 此指令获取的是模块中预设的扫描响应数据内容,与当前是否被扫描无关。
3. 修改扫描响应数据后需执行AT+SAVE保存配置。
4. 扫描响应数据格式需遵循蓝牙AD Structure规范。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+GETSCANRSP | AT:\<data> |
执行命令(简略版) | AT+GSR | AT:\<data> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<data> | 扫描响应数据 | 十六进制字符串 | 格式:"0x" + 十六进制数据 最大长度:62字符(31字节数据) |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+GETSCANRSP | 获取扫描响应数据 |
← | AT:0x080941697235313031 | 获取成功 数据解析: 0x080941697235313031 08 = 长度字节 (1字节类型 + 7字节数据 = 8字节) 09 = 数据类型 (09表示完整设备名称) 41 69 72 35 31 30 31 = "Air5101"的ASCII码 |
6.4.6 设置扫描响应数据:AT+SETSCANRSP/AT+SSR
功能说明:
设置蓝牙模块的扫描响应数据。扫描响应数据是在设备收到扫描请求时返回的附加信息,用于提供设备名称等补充信息,不占用广播数据包的有效载荷。扫描响应数据拥有自己独立的、最大31字节的有效载荷空间。
注意事项:
1. 数据必须以"0x"前缀的十六进制字符串格式输入,最大62字符(31字节)。
2. 修改扫描响应数据后需执行AT+SAVE保存配置。
3. 扫描响应数据格式需遵循蓝牙AD Structure规范。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+SETSCANRSP=\<data> | AT:OK |
执行命令(简略版) | AT+SSR=\<data> | AT:OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<data> | 扫描响应数据 | 十六进制字符串 | 格式:"0x" + 十六进制数据 最大长度:62字符(31字节数据) |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+SETSCANRSP=0x080941697235313031 | 设置扫描响应数据 |
← | AT:OK | 设置成功 |
→ | AT+SETSCANRSP=0x00 | 清空扫描响应数据,恢复默认空状态 |
← | AT:OK | 设置成功 |
→ | AT+SAVE | 保存配置 |
← | AT:OK | 保存成功 |
6.4.7 获取广播间隔:AT+GETADVINTERV/AT+GAI
功能说明:
获取当前蓝牙模块的广播间隔设置。
注意事项:
1. 单位时间:0.625ms。
2. 取值范围:最大为 3125ms,最小不低于 20ms。
3. 返回值为十六进制格式,需要转换为十进制后乘以0.625ms得到实际时间。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+GETADVINTERV | AT:\<interval> |
执行命令(简略版) | AT+GAI | AT:\<interval> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<interval> | 广播间隔 | 十六进制字符串 | 格式:"0x" + 十六进制数据 单位时间:0.625ms 范围:0x0020-0x1388 (20ms-3125ms) |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+GETADVINTERV | 获取广播间隔 |
← | AT:0x0030 | 获取成功 广播间隔:30ms(0x30 * 0.625ms) |
6.4.8 设置广播间隔:AT+SETADVINTERV/AT+SAI
功能说明:
设置当前蓝牙模块的广播间隔设置。
注意事项:
1. 单位时间:0.625ms。
2. 取值范围:最大为 3125ms,最小不低于 20ms。
3. 数据必须以"0x"前缀的十六进制字符串格式输入。
4. 修改广播间隔后需执行AT+SAVE保存配置。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT+SETADVINTERV=\<interval> | AT:OK |
设置命令(简略版) | AT+SAI=\<interval> | AT:OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<interval> | 广播间隔 | 十六进制字符串 | 格式:"0x" + 十六进制数据 单位时间:0.625ms 范围:0x0020-0x1388 (20ms-3125ms) |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+SETADVINTERV=0x0050 | 设置广播间隔为50ms 50ms /0.625ms = 80,对应的十六进制为0x0050 |
← | AT:OK | 设置成功 |
→ | AT+SAVE | 保存配置 |
← | AT:OK | 保存成功 |
6.4.9 获取连接间隔:AT+GETCONINTERV/AT+GCI
功能说明:
获取当前蓝牙连接时主从设备之间的实际通信间隔。
注意事项:
1. 需要在蓝牙连接时调用,否则会报错。
2. 单位时间:1.25ms,返回值需乘以1.25ms得到实际时间间隔
3. 取值范围:最大为 2000ms,最小不低于 7.5ms
4. 返回值为十六进制格式,需要转换为十进制后乘以1.25ms得到实际时间。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+GETCONINTERV | AT:\<interval> |
执行命令(简略版) | AT+GCI | AT:\<interval> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<interval> | 连接间隔 | 十六进制字符串 | 格式:"0x" + 4位十六进制数据 单位:1.25ms 范围:0x0006-0x0640 (7.5ms-2000ms) 示例:0x0018 = 30ms (0x18 × 1.25ms) |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+GETCONINTERV | 获取连接间隔 |
← | AT:0x0018 | 获取成功 连接间隔:30ms(0x18 × 1.25ms) |
6.4.10 设置连接间隔:AT+SETCONINTERV/AT+SCI
功能说明:
设置蓝牙连接时主从设备之间的通信间隔。
注意事项:
1. 需要在蓝牙连接时调用,否则会报错。
2. 单位时间:1.25ms。
3. 取值范围:最大为 2000ms,最小不低于 7.5ms。
4. 数据必须以"0x"前缀的十六进制字符串格式输入。
5. 修改广播间隔后需执行AT+SAVE保存配置。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT+SETCONINTERV=\<interval> | AT:OK |
设置命令(简略版) | AT+SCI=\<interval> | AT:OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<interval> | 连接间隔 | 十六进制字符串 | 格式:"0x" + 4位十六进制数据 单位:1.25ms 范围:0x0006-0x0640 (7.5ms-2000ms) 示例:0x0018 = 30ms (0x18 × 1.25ms) |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+SETCONINTERV=0x0018 | 设置蓝牙连接间隔为30ms |
← | AT:OK | 设置成功 |
→ | AT+SAVE | 保存配置 |
← | AT:OK | 保存成功 |
6.4.11 获取蓝牙连接时的MTU长度:AT+GETMTU/AT+GMT
功能说明:
获取当前蓝牙连接的 MTU(Maximum Transmission Unit,最大传输单元)长度。MTU 决定了单次蓝牙数据传输的最大字节数。
注意事项:
1. 必须在蓝牙已连接状态下使用,未连接时会返回错误。
2. 实际单包有效数据最大为 MTU-3字节(MTU 值减去 3 字节 ATT 头)。
3. MTU 范围:23~512字节。
4. 返回值为当前连接协商后的实际 MTU 大小。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT+GETMTU | AT:\<len> |
设置命令(简略版) | AT+GMT | AT:\<len> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<len> | MTU长度 | 整数 | 单位:字节 范围:23~512字节 默认值:23 实际有效数据:MTU-3字节 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+GETMTU | 获取当前 MTU 长度 |
← | AT:23 | 返回 MTU 长度为 23 字节 |
6.4.12 设置蓝牙连接时的MTU长度:AT+SETMTU/AT+SMT
功能说明:
设置蓝牙连接的 MTU(Maximum Transmission Unit,最大传输单元)长度。MTU 决定了单次蓝牙数据传输的最大字节数。
注意事项:
1. 必须在蓝牙已连接状态下设置,未连接时会返回错误。
2. 实际有效数据长度为 MTU-3字节(MTU 值减去 3 字节 ATT 头)。
3. MTU 设置范围为 23~512 字节。
4. 实际 MTU 长度是主从设备协商的结果,可能与设置值不一致。因此在设置完 MTU 后需等待 3 个以上的连接时间,然后通过 AT+GETMTU 回读实际 MTU 值,以获得实际通讯的MTU。
5. 设置后需执行 AT+SAVE 保存配置。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT+SETMTU=\<len> | AT:OK |
设置命令(简略版) | AT+SMT=\<len> | AT:OK |
参数定义:
[TABLE]
| 参数 | 定义 | 取值 | 对取值的说明 |
|:---------|:------------|:------|:-------------------------------|
| \<len> | MTU长度 | 整数 | 单位:字节
范围:23~512字节
默认值:23
建议值:根据实际数据传输需求设置|
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+SETMTU=50 | 设置 MTU 长度为 50 字节 |
← | AT:OK | 设置成功 |
→ | AT+GETMTU | 等待 3 个连接间隔后回读实际 MTU |
← | AT:158 | 返回协商后的实际 MTU 长度 |
→ | AT+SAVE | 保存 MTU 配置 |
← | AT:OK | 保存成功 |
6.5 功耗与控制指令
6.5.1 设置功耗模式:AT+SETLOWPOWER/AT+LP
功能说明:
设置功耗模式。
注意事项:
1. 0”表示没有低功耗,全速运行;“1”、“3”表示低功耗模式,蓝牙可以被发现、连接;“2”、“4”表示整机休眠,蓝牙不工作,整机功耗 2uA 左右;“3”与“4”唤醒后会自动恢复为常规模式“0”。
2. 唤醒方式:串口RX引脚检测到低电平(≥1μs)即可唤醒模块。实际操作中,通过串口向模块发送任意数据即可产生起始位低电平,从而触发唤醒。芯片唤醒时间约600μs。
3. 如果是在模式“1”,芯片的 RX 引脚低电平触发唤醒后才能接收串口数据,所以有可能串口数据接收不完整,导致提示 AE:错误。
4. 唤醒后会延时50ms再次进入休眠,如果收到串口数据会延时150ms再进入休眠。
5. 在ASCII模式下,可在唤醒后延时10ms发送回车换行加有效指令,回车换行用于与前面的错误数据(唤醒操作)分隔开,便于模组识别有效指令。
6. 设置后需执行AT+SAVE保存配置,否则重启后恢复原模式。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+SETLOWPOWER=\<mode> | AT:OK |
执行命令(简略版) | AT+LP=\<mode> | AT:OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<mode> | 功耗模式 | 0,1,2,3,4 | 0: 常规模式 1: 低功耗模式 3: 低功耗模式 2: 休眠模式 4: 休眠模式 |
模式说明:
模式值 | 工作状态 | 功耗特性 | 蓝牙功能 | 唤醒后行为 |
---|---|---|---|---|
0 | 常规模式 | 正常功耗 | 正常工作 | - |
1 | 低功耗模式 | 较低功耗 | 可被发现和连接 | 50ms左右后会再次进入低功耗 |
3 | 低功耗模式 | 较低功耗 | 可被发现和连接 | 自动退出低功耗模式,恢复为模式0 |
2 | 休眠模式 | 极低功耗(~2uA) | 蓝牙不工作 | 50ms左右后会再次进入休眠 |
4 | 休眠模式 | 极低功耗(~2uA) | 蓝牙不工作 | 自动退出休眠模式,恢复为模式0 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+SETLOWPOWER=1 | 进入低功耗模式1 |
← | AT:OK |
6.5.2 获取功耗模式:AT+GETLOWPOWER/AT+GLP
功能说明:
获取功耗模式。
注意事项:
“0”表示没有低功耗,全速运行;“1”表示低功耗模式运行,蓝牙可以连接通讯;“2”表示休眠模式,蓝牙不工作。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+GETLOWPOWER | AT:LOWPOWER=\<mode> |
执行命令(简略版) | AT+GLP | AT:LOWPOWER=\<mode> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
低功耗模式 | 0,1,2 | 0: 常规模式 1: 低功耗模式 2: 休眠模式 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+GETLOWPOWER | |
← | AT:LOWPOWER=0 |
6.5.3 获取发射功率等级:AT+GETTXPOWER/AT+GP
功能说明:
获取发射功率等级。
注意事项:
目前发射功率只有(0~15)共 16 个等级,最高等级 15 发射功率约 6dbm。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+GETTXPOWER | AT:TxPower=\<level> |
执行命令(简略版) | AT+GP | AT:TxPower=\<level> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<level> | 发射功率等级 | 0~15 | 目前发射功率只有(0~15)共 16 个等级,最高等级 15 发射功率约 6dbm。 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+GETTXPOWER | 获取发射功率 |
← | AT:TxPower=15 | 发射功率等级为15 |
6.5.4 设置发射功率等级:AT+SETTXPOWER/AT+TP
功能说明:
设置发射功率等级。
注意事项:
目前发射功率只有(0~15)共 16 个等级,最高等级 15 发射功率约 6dbm;更改发射功率后,会重启射频,因此处于连接状态时会断连。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+SETTXPOWER=\<level> | AT:OK |
执行命令(简略版) | AT+TP=\<level> | AT:OK> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<level> | 发射功率等级 | 0~15 | 目前发射功率只有(0~15)共 16 个等级,最高等级 15 发射功率约 6dbm。 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+SETTCPOWER=15 | 设置发射功率等级为15 |
← | AT:OK | 设置成功 |
6.6 数据通信指令
6.6.1 向主机发送数据:AT+BLESEND/AT+BS
功能说明:
发送数据给主机。
注意事项:
必须在蓝牙已连接状态下使用,未连接时会返回AE错误。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+BLESEND=\<data> | AT:OK |
执行命令(简略版) | AT+BS=\<data> | AT:OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<data> | 要发送的数据 | 字符串 | 最大长度受MTU和蓝牙协议限制,建议不超过20字节 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+BLESEND=123456 | 发送字符串”123456”给主机 |
← | AT:OK | 发送成功 |
6.6.2 断开蓝牙连接:AT+DISCON/AT+DN
功能说明:
断开蓝牙连接。
注意事项:
连接状态可用,若在非连接状态发送该条指令,会上报AE错误。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+SETTXPOWER=\<level> | AT:OK |
执行命令(简略版) | AT+TP=\<level> | AT:OK> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<level> | 发射功率等级 | 0~15 | 目前发射功率只有(0~15)共 16 个等级,最高等级 15 发射功率约 6dbm。 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+SETTCPOWER=15 | 设置发射功率等级为15 |
← | AT:OK | 设置成功 |
→ | AT+SAVE | 保存配置 |
← | AT:OK | 保存成功 |
6.6.3 获取连接状态:AT+STATUS/AT+SU
功能说明:
获取蓝牙连接状态。
注意事项:
无
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+STATUS | AT:\<status> |
执行命令(简略版) | AT+SU | AT:\<status> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<status> | 连接状态 | CONNECTED DISCONNECTED |
CONNECTED: 已连接 DISCONNECTED: 未连接 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+STATUS | 查询连接状态 |
← | AT:CONNECTED | 返回状态:已连接 |
6.7 FLASH操作指令
6.7.1 读取flash数据:AT+READFLASH/AT+RF
功能说明:
从模块的Flash存储器中读取指定地址的数据内容。
注意事项:
1. 单次读取最大长度为 32 字节。
2. 地址范围:0x0000 - 0x3FFF (共16KB),确保访问地址不超过此范围。
3. 地址规则:输入的地址字符串按低字节在前处理(例如:输入 0xf23f,实际访问 0x3ff2)。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+READFLASH=\<address>,\<length> | AT:\<data> |
执行命令(简略版) | AT+RF=\<address>,\<length> | AT:\<data> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
Flash起始地址 | 十六进制字符串 | 格式:"0x"+4位十六进制数 地址规则:小端模式,低字节在前 地址范围:0x0000-0x3FFF (16KB空间) |
|
读取数据长度 | 十进制整数 | 单位:字节 范围:1-32字节,即单次读取最大32字节 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+READFLASH=0xf23f,12 | 从实际地址0x3ff2读取12字节数据 |
← | AT:0x000000000000000000000000 | 返回12字节数据(全0) |
6.7.2 擦除flash:AT+ERASEFLASH/AT+EF
功能说明:
擦除 flash,一次擦除一个 page(256byte)
注意事项:
1. 地址对齐:起始地址必须 256 字节对齐(即实际地址的低 8 位必须为 0,例如 0x0000, 0x0100, 0x0200)。
2. 地址规则:输入的地址字符串按低字节在前规则处理(例如:输入 0x0020,实际擦除起始地址为 0x2000)。
3. 擦除特性:一次擦除整个 256 字节页,擦除后数据变为 0xFF,此操作不可逆。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+ERASEFLASH=\<address> | AT:OK |
执行命令(简略版) | AT+EF=\<address> | AT:OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<address> | Flash起始地址 | 十六进制字符串 | 格式:"0x"+4位十六进制数 地址规则:小端模式,低字节在前 地址对齐:必须256字节对齐 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+ERASEFLASH=0x0020 | 擦除实际地址0x2000开始的256字节页 |
← | AT:OK | 擦除成功 |
6.7.3 记录写入数据内容:AT+WRITEFLASH/AT+WF
功能说明:
向Flash存储器的指定地址写入数据内容。
注意事项:
1. 地址规则:地址按低字节在前处理(如输入0x0030,实际地址0x3000)
2. 数据规则:数据按输入顺序写入,必须4字节对齐,不足时左侧自动补零(如0x1234567→0x01234567)
3. 操作限制:单次写入≤32字节,写入前需先擦除,总空间16KB
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+WRITEFLASH=\<address>,\<data> | AT:OK |
执行命令(简略版) | AT+WF=\<address>,\<data> | AT:OK |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
\<address> | Flash起始地址 | 十六进制字符串 | 格式:"0x"+4位十六进制数 地址规则:小端模式,低字节在前 |
\<data> | 要写入的数据 | 十六进制字符串 | 格式:"0x"+4位十六进制数 数据规则:数字字符串按输入顺序写入(大端模式,高字节在前) 范围:单次最大32字节,必须4字节对齐 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+WRITEFLASH=0x0030,0x1234567 | 向实际地址0x3000写入数据01 23 45 67 |
← | AT:OK | 写入成功 |
6.8 系统控制指令
6.8.1 设置看门狗配置:AT+WDCFG
功能说明:
配置看门狗功能参数,用于监控主控设备运行状态。当主控设备在指定时间内未喂狗时,蓝牙模块将通过PA17引脚复位主控。
注意事项:
设置后需执行AT+SAVE保存配置。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+WDCFG=<en>[,<timeout_s>,<action_lvl>,<pulse_width_ms>] |
AT:OK |
查询命令 | AT+WDCFG? |
AT:<en>,<timeout_s>,<action_lvl>,<pulse_width_ms> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
<en> |
看门狗使能 | 0,1 | 必选参数 0:关闭看门狗功能 1:开启看门狗功能 |
<timeout_s> |
喂狗超时时长 | 整数 | 可选参数,默认值:60 单位:秒 范围:1-99999999秒 示例:45表示45秒超时 |
<action_lvl> |
超时动作电平 | 0,1 | 可选参数,默认值:0 0:超时后拉低PA17 1:超时后拉高PA17 |
<pulse_width_ms> |
复位脉冲宽度 | 整数 | 可选参数,默认值:100 单位:毫秒 范围:10-10000ms(10毫秒到10秒) |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+WDCFG=1,45,1,500 | 开启看门狗,45秒超时,超时后拉高PA17持续500ms |
← | AT:OK | 设置成功 |
→ | AT+WDCFG=1,30,0,200 | 开启看门狗,30秒超时,超时后拉低PA17持续200ms |
← | AT:OK | 设置成功 |
→ | AT+WDCFG? | 查询当前配置 |
← | AT+WDCFG=1,30,0,200 | 返回查询结果 |
→ | AT+WDCFG=0 | 关闭看门狗功能 |
← | AT:OK | 保存成功 |
→ | AT+SAVE | 保存看门狗配置 |
← | AT:OK | 保存成功 |
6.8.2 看门狗喂狗:AT+WDFED
功能说明:
主控设备通过发送此指令告知蓝牙模块运行正常,重置看门狗计时器。
注意事项:
1. 必须在看门狗功能开启状态下使用。
2. 喂狗间隔应小于设置的超时时长。
3. 建议在主控设备主循环中定期调用此指令。
4. 若超时未喂狗,模块将按配置通过PA17发送指定脉冲复位主控。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+WDFED | AT:OK |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+WDFED | 喂狗操作,重置看门狗计时器 |
← | AT:OK | 喂狗成功 |
6.8.3 配置唤醒主控功能:AT+WAKEUP
功能说明:
配置蓝牙唤醒主控的低功耗功能。在主控进入低功耗模式时,蓝牙与手机保持连接。当蓝牙连接断开或收到数据时,需要唤醒主控(通过PA14引脚)以恢复主控的处理数据功能。
注意事项:
1. 使用该功能前,请确保硬件连接正确,PA14引脚可用于唤醒主控。
2. 蓝牙发送的第一条数据可能仅用于唤醒主控。
3. 设置后需执行AT+SAVE保存配置。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+WAKEUP=<source_mask>[,<polarity>,<pulse_width_ms>] |
AT:OK |
执行命令 | AT+WAKEUP= |
AT:OK |
查询命令 | AT+WAKEUP? |
AT:<source_mask>,<polarity>,<pulse_width_ms> |
参数定义:
参数 | 定义 | 取值 | 对取值的说明 |
---|---|---|---|
<source_mask> |
唤醒源配置 | 0,1,2,3 | 必选参数 0:禁用所有唤醒源 1:使能蓝牙连接断开作为唤醒源 2:使能蓝牙接收到数据作为唤醒源 3:同时使能蓝牙连接断开和蓝牙接收到数据作为唤醒源 |
<polarity> |
唤醒电平 | 0,1 | 可选参数,默认值:0 0:当唤醒事件发生时,拉低 PA14 1:当唤醒事件发生时,拉高 PA14 注意:当 source_mask 为 0 时,此参数忽略 |
<pulse_width_ms> |
复位脉冲宽度 | 整数 | 可选参数,默认值:100 单位:毫秒 范围:10-10000ms(10 毫秒到 10 秒) 注意:当 source_mask 为 0 时,此参数忽略 |
举例:
命令(→)/返回(←) | 实例 | 解释和说明 |
---|---|---|
→ | AT+WAKEUP=1,1,100 | 启用蓝牙断链唤醒,设置PA14为高电平,脉冲宽度100ms |
← | AT:OK | 设置成功 |
→ | AT+WAKEUP=2,0,50 | 启用蓝牙收到数据唤醒,设置PA14为低电平,脉冲宽度50ms |
← | AT:OK | 设置成功 |
→ | AT+WAKEUP=3,1,200 | 同时启用蓝牙断链和数据接收唤醒,设置PA14为高电平,脉冲宽度200ms |
← | AT:OK | 设置成功 |
→ | AT+WAKEUP=0 | 禁用所有唤醒源 |
← | AT:OK | 设置成功 |
→ | AT+SAVE | 保存配置 |
← | AT:OK | 保存成功 |
6.9 错误代码说明
6.9.1 UE: 错误回复(透传模式)
说明: 透传模式下的错误回复,不是发送指令。
举例: 透传模式下发送 AT+VER
返回: UE:(1)
解释: 括号内的 1 为错误代码,具体错误信息请对照下表格
错误代码 | 错误标识 | 描述 |
---|---|---|
1 | ERR_NO_CONNECT | 没有被主机连接 |
7 | ERR_NOT_FOUND | 没有找到对应指令 |
8 | ERR_LENGTH | 指令长度或数据长度错误 |
9 | ERR_FORMAT | 数据格式错误 |
10 | ERR_PARAMETER | 参数内容错误 |
6.9.2 AE: 错误回复(AT指令模式)
说明: AT 指令模式下的错误回复,不是发送指令
举例 :AT+VER1
返回: AE:(7)
解释: 与“UE:”回复类似
6.9.3 UT:有效回复(透传模式)
说明: 透传模式下的有效回复,不是发送指令
举例: 主机连接蓝牙设备提示
返回: UT:CONNECTED
解释: 无
6.9.4 AT:有效回复(AT指令模式)
说明: AT 指令模式下的有效回复,不是发送指令
举例: 主机断开蓝牙设备提示
返回: AT:DISCONNECT
解释: 无