跳转至

AT固件指令说明

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

简介

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

说明

  1. 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