跳转至

AT固件指令说明

文档版本 日期 作者 修改记录
V1.0 2025.03.24 ljp 1. 初始版本
V1.1 2025.08.26 ljp 1. AT 固件更新至 V003

简介

本文介绍如般微 PT3220 AT 固件 (PT3220_STD_BLEAT_N_V003.bin) 的 AT 指令集。

说明

  1. PT3220_STD_BLEAT_N_V003​ AT 固件目前仅支持 BLE 从机模式,暂不支持低功耗功能。
  2. 固件烧录可参考 《开发环境搭建/编译烧录调试/烧录》 一节相关说明。

语法介绍

BLE AT 固件将所有指令分为以下三类:

  1. 执行指令,不其他带特殊字符,如 AT+RESET
  2. 查询指令,以英文 ? 字符结尾,如 AT+NAME?
  3. 设置指令,以英文 = 字符和用户配置参数结尾,如 AT+NAME="PT3220"

此外,

  • 所有指令区分大小写
  • 所有指令以 CRLF​ 换行符结尾,即 \r\n​,本文所有示例均省略
  • 所有非 AT 开头和 \r\n 结尾的数据,将通过 BLE 透传(如果 BLE 已建立连接)
  • 指令处理成功后,回复 OK,如发生异常,将通过 +ERROR:[errcode] 返回错误码
  • 使用示例中,>>> 表示从主机发送至 PT3220 的内容,<<< 表示 PT3220 应答的内容

串口配置

串口设置 数值 备注
波特率 115200 默认波特率
数据位 8 暂不支持修改
停止位 1 暂不支持修改
校验位 暂不支持修改
TX PIN PA06 AT 串口发送引脚
RX PIN PA07 AT 串口接收引脚

指令集介绍

基础指令‍

AT

测试指令

语法规则

指令类型 语法 返回
执行指令 AT OK

参数定义

参数 定义 取值
- - -

使用示例

>>> AT # 串口发送
<<< OK # 模块应答

AT+HELP

查询所有已支持 AT 指令

语法规则

指令类型 语法 返回
查询指令 AT+HELP? +HELP:
(AT指令列表)
OK

参数定义

参数 定义 取值
- - -

使用示例

>>> AT+HELP?
<<< +HELP:
00: AT
01: AT+DEFAULT
02: AT+RESET
03: AT+HELP
04: AT+VER
05: AT+CFG
06: AT+BAUD
07: AT+MAC
08: AT+NAME
09: AT+ADVINTV
10: AT+ADVDATA
11: AT+UUIDS
12: AT+UUIDW
13: AT+UUIDN
OK

AT+VER

查询版本信息

语法规则

指令类型 语法 返回
查询指令 AT+VER? +VER:[version]
OK

参数定义

参数 定义 取值
version 软件版本号 字符串

使用示例

>>> AT+VER?
<<< +VER:PT3220_STD_BLEAT_N_V002
OK

AT+CFG

查询当前系统所有配置项

语法规则

指令类型 语法 返回
查询指令 AT+CFG? +CFG:
(系统配置)
OK

参数定义

参数 定义 取值
- - -

使用示例

>>> AT+CFG?
<<< +CFG:
VER     = PT3220_STD_BLEAT_N_V002
BAUD    = 115200
MAC     = 72:62:77:33:08:55
NAME    = bleAT
ADVINTV = 500 ms
ADVDATA = 0201060303F0FF03190000
UUIDS   = FFF0
UUIDN   = FFF1
UUIDW   = FFF2
OK

系统指令

AT+DEFAULT

恢复出厂配置

语法规则

指令类型 语法 返回
执行指令 AT+DEFAULT OK

参数定义

参数 定义 取值
- - -

使用示例

>>> AT+DEFAULT
<<< OK # 应答完 OK 之后,芯片恢复出厂默认配置并重启

AT+RESET

重启固件,当配置更改后,需要重启系统使配置生效

语法规则

指令类型 语法 返回
执行指令 AT+RESET OK

参数定义

参数 定义 取值
- - -

使用示例

>>> AT+RESET
<<< OK # 应答完 OK 后系统重启

AT+BAUD

读/写 串口波特率

语法规则

指令类型 语法 返回
设置指令 AT+BAUD=[baud] OK
查询指令 AT+BAUD? +BAUD:[baud]

参数定义

参数 定义 取值
baud 波特率 十进制,支持以下波特率:
9600
19200
38400
57600
115200(默认值)
230400
256000
460800
921600

使用示例

# 将串口波特率设置为 115200
>>> AT+BAUD=115200 
<<< OK

# 查询当前波特率
>>> AT+BAUD? 
<<< +BAUD:115200
OK

BLE 指令

AT+NAME

读/写 BLE 设备名称

语法规则

指令类型 语法 返回
设置指令 AT+NAME=[name] OK
查询指令 AT+NAME? +NAME:[name]
OK

参数定义

参数 定义 取值
name 设备名称 字符串,最多不超过 20 个字符

使用示例

>>> AT+NAME=bleAT
<<< OK

>>> AT+NAME?
<<< +NAME:bleAT
OK

AT+MAC

读/写 BLE 设备 MAC 地址

语法规则

指令类型 语法 返回
设置指令 AT+MAC=[mac] OK
查询指令 AT+MAC? +MAC:[mac]
OK

参数定义

参数 定义 取值
mac 设备 MAC 地址 十六进制MAC地址,包括 ":" 字符

使用示例:

# 设置设备 mac 地址
>>> AT+MAC=72:62:77:33:08:55
<<< OK

# 查询设备 mac 地址
>>> AT+MAC?
<<< +MAC=72:62:77:33:08:55
OK

AT+ADVINTV

读/写 BLE 广播间隔

语法规则

指令类型 语法 返回
设置指令 AT+ADVINTV=[interval] OK
查询指令 AT+ADVINTV? +ADVINTV=[interval]
OK

参数定义

参数 定义 取值
interval 广播间隔 十进制
有效值范围:20~10000
单位:ms
默认值:20

使用示例

# 将广播间隔设置为500ms
>>> AT+ADVINTV=500
<<< OK

# 查询广播间隔
>>> AT+ADVINTV?
<<< +ADVINTV:500
OK

AT+ADVDATA

读/写 BLE 广播数据

语法规则

指令类型 语法 返回
设置指令 AT+ADVDATA=[data] OK
查询指令 AT+ADVDATA? +ADVDATA:[data]

参数定义

参数 定义 取值
data 广播数据 十六进制广播数据,所有数据将应用于广播数据中,请注意 ADV Structure
最多不超过 31 个字节,62 个字符

使用示例

# 将广播数据设置为 0201060303F0FF03190000
>>> AT+ADVDATA=0201060303F0FF03190000
<<< OK

# 查询广播数据
>>> AT+ADVDATA?
<<< +ADVDATA:0201060303F0FF03190000
OK

AT+UUIDS

读/写 ATT 透传服务 16 位 UUID

语法规则

指令类型 语法 返回
设置指令 AT+UUIDS=[uuid] OK
查询指令 AT+UUIDS? +UUIDS:[uuid]
OK

参数定义

参数 定义 取值
uuid service UUID 十六进制,最多支持4个字符
默认值:FFE0

使用示例

# 设置 service UUID 为 FFE0
>>> AT+UUIDS=FFE0
<<< OK

# 查询 service UUID
>>> AT+UUIDS?
<<< +UUIDS:FFE0
OK

AT+UUIDW

读/写 ATT 写特征 16 位 UUID

语法规则

指令类型 语法 返回
设置指令 AT+UUIDW=[uuid] OK
查询指令 AT+UUIDW? +UUIDW:[uuid]
OK

参数定义

参数 定义 取值
uuid write handle UUID 十六进制,最多支持4个字符
默认值:FFE1

使用示例

# 设置 write UUID 为 FFE1
>>> AT+UUIDW=FFE1
<<< OK

# 查询 write UUID
>>> AT+UUIDW?
<<< +UUIDW:FFE1
OK

AT+UUIDN

读/写 ATT 通知特征 16 位 UUID

语法规则

指令类型 语法 返回
设置指令 AT+UUIDN=[uuid] OK
查询指令 AT+UUIDN? +UUIDN:[uuid]
OK

参数定义

参数 定义 取值
uuid notify handle UUID 十六进制,最多支持4个字符
默认值:FFE2

使用示例

# 设置 notify UUID 为 FFE2
>>> AT+UUIDN=FFE2
<<< OK

# 查询 notify UUID
>>> AT+UUIDN?
<<< +UUIDN:FFE2
OK

+BLESTA

BLE 连接状态上报

指令类型 语法 返回
URC - +BLESTA:[connected]

参数定义

参数 定义 取值
connected BLE 连接状态 0: BLE 未连接
1: BLE 已建立连接

使用示例

# BLE 未连接
+BLESTA:0

# BLE 已建立连接
+BLESTA:1

错误码定义

当发生错误时,BLE AT 固件将通过 +ERROR:[errcode] 指令返回错误码,具体错误码定义如下:

错误码 说明
1 无效指令
2 无效参数

典型使用示例

>>> AT
<<< OK

# 查询系统所有配置
>>> AT+CFG?
<<< OK

# 配置设备 mac 地址
>>> AT+MAC=72:62:77:33:08:55
<<< OK

# 配置设备名称
>>> AT+NAME=bleAT
<<< OK

# 配置广播数据
>>> AT+ADVDATA=0201060303F0FF03190000
<<< OK

# 配置 UUID
>>> AT+UUIDS=FE00
<<< OK
>>> AT+UUIDW=FE01
<<< OK
>>> AT+UUIDN=FE02
<<< OK

# 重启设备以应用配置修改
>>> AT+RESET
<<< OK