CH9141 中文手册
http://wch.cn
1
CH9141 蓝牙串口透传芯片
手册
版本:2A
http://wch.cn
1、概述
CH9141 是一款蓝牙串口透传芯片,芯片支持广播模式、主机模式和从机模式,支持蓝牙 BLE4.2。
支持串口 AT 配置和在从机模式下的蓝牙通信配置,
支持 MODEM 联络信号,
并提供通用 GPIO、
同步 GPIO、
ADC 采集功能,串口波特率最高 1Mbps。蓝牙从机模式下可设置蓝牙名称、厂商信息等参数,可通过
APP 或者串口命令轻松配置,方便快捷。
提供电脑端虚拟串口驱动可使蓝牙接口直接使用串口调试工具、兼容串口应用程序,无需二次开
发即可与串口接口通讯,轻松让串口实现免插线和不受线缆距离限制。
下图为 CH9141 一些应用方案框图:
电脑、手机等
蓝牙主机
(虚拟串口驱动)
串口应用程序
或 APP
~BLE 蓝牙~
UART
CH9141
芯片蓝牙
从机模式
GPIO
ADC
MCU
或
其他串口设备
图 1 蓝牙主机通过 CH9141 蓝牙与串口设备进行串口通讯框图
MCU
或
其他串口设备
UART
GPIO
同步 IO
ADC
CH9141
芯片蓝牙
主机模式
~BLE 蓝牙~
CH9141
芯片蓝牙
从机模式
UART
GPIO
同步 IO
ADC
图 2 两端 MCU 或串口设备使用 CH9141 蓝牙主从连接进行通讯框图
2、特点
l
l
l
l
l
l
l
l
l
l
l
l
l
l
支持广播模式、主机模式和从机模式。
支持串口 AT 配置和蓝牙传输配置。
提供电脑端蓝牙虚拟串口驱动。
兼容已有串口软件和工具,无需二次开发。
支持 Windows/Linux/Android/iOS 等系统蓝牙主机连接。
提供通用 GPIO 和同步 GPIO 功能,支持蓝牙控制。
支持一路 12 位 ADC 采集,支持蓝牙读取。
掉电睡眠电流 0.3uA。
传输距离 100 米
发射功率 8 档可调。
支持 3.3V 和 2.5V 工作电压。
异步串口最高通讯波特率 1Mbps。
串口支持 MODEM 联络信号 RTS、DTR、DCD、RI、DSR、CTS。
串口支持 5、6、7 或者 8 个数据位以及 1 或者 2 个停止位。
MCU
或
其他串口设备
CH9141 中文手册
l
l
l
l
http://wch.cn
2
串口支持奇、偶、无校验、空白 0、标志 1 等校验方式。
支持获取芯片供电电压参数。
32K 时钟源可选外部晶振。
提供 QFN28 方形无引线 28 脚封装和 ESSOP10 封装。
ANT
VINTA
X32MI
X32MO
NC
RST#
RXD
21
20
19
18
17
16
15
3、封装
22
23
24
25
26
27
28
TXD
CTS#
RTS#/TNOW
DTR#/BLESTA/GPIO4
RI#/GPIO5
DSR#/GPIO6
DCD#/GPIO7
CH9141
14
13
12
11
10
9
8
0
X32KO
X32KI
VDD_D
VSW
VCC
AT
ADC
1
2
3
4
5
1
2
3
4
5
6
7
0
GND
VDD_A
RELOAD/LED
SLEEP
GPIO3
GPIO2
GPIO1
GPIO0
GND
SLEEP
AT
VCC
TXD
GND CH9141K
RXD
X32MI
VINTA
X32MO
ANT
10
9
8
7
6
芯片封装
型号
名称
描述
CH9141
QFN28
4*4mm
CH9141K
ESSOP10
6*5mm
4、引脚
QFN28
引脚号
ESSOP10
引脚号
引脚名称
类型
引脚说明
0
0
GND
P
电源地
X32K0
A
低频振荡器的反相输出端
X32KI
A
低频振荡器的反相输入端
VDD_D
P
电源,需外接 2.2uF 退耦电容
VSW
P
内部 DC-DC 开关输出
1
2
3
无
4
5
2
VCC
P
芯片电源输入,需外接 2.2uF 退耦电容
6
10
AT
I
AT 透传功能切换引脚
0:AT 模式 1:透传模式
7
ADC
A
模拟 ADC 输入引脚
8
DCD#
/GPIO7
I/O
DCD#:UART 的 MODEM 输入信号,载波检测。
GPIO7:通用输入输出 IO。
9
DSR#
/GPIO6
I/O
DSR#:UART 的 MODEM 输入信号,数据装置就绪。
GPIO6:通用输入输出 IO。
10
RI#
I/O
RI#:UART 的 MODEM 输入信号,振铃指示。
无
CH9141 中文手册
http://wch.cn
3
/GPIO5
GPIO5:通用输入输出 IO。
11
DTR#
/BLESTA
/GPIO4
I/O
DTR#:UART 的 MODEM 输出信号,数据终端就绪。
BLESTA:蓝牙连接状态输出。
GPIO4:通用输入输出 IO。
12
RTS#
/TNOW
I/O
RTS#:MODEM 联络输出信号,请求发送,低电平有效。
TNOW:UART 的 RS485 收发切换控制引脚。
13
CTS
I
MODEM 联络输入信号,清除发送,低电平有效
14
9
TXD
O
串口发送引脚
15
8
RXD
I
串口接收引脚
RST#
I
芯片复位引脚,低电平有效
NC
N
无效引脚,悬空
16
17
无
18
5
X32MO
A
高频振荡器的反相输出端
19
4
X32MI
A
高频振荡器的反相输入端
20
7
VINTA
P
内部模拟电路的电源节点,需外接 2.2uF 退耦电容
21
6
ANT
A
RF 射频信号输入输出
VDD_A
P
内部模拟电路的电源输入,需外接 0.1uF 退耦电容
无
RELOAD
/LED
I/O
RELOAD:恢复出厂设置引脚,低电平有效
LED:芯片状态指示信号输出
1
SLEEP
I
低功耗控制引脚,低电平有效,内置上拉电阻
GPIO3
I
同步输入 IO
GPIO2
O
同步输出 IO
GPIO1
I
同步输入 IO
GPIO0
O
同步输出 IO
GND
P
电源地
22
23
24
25
26
27
无
28
无
3
注:P:电源引脚,A:模拟引脚,I:输入引脚,O:输出引脚,N:空脚
复用功能在前优先。
5、功能说明
5.1 广播模式
广播模式支持串口透传数据给芯片,芯片将自动更新广播数据,也支持 AT 模式下更新广播数据,
建议使用 AT 命令发送蓝牙数据,数据为蓝牙广播的原始数据,芯片不会校验数据的合法性,所以数
据一定要符合蓝牙协议规范。
广播数据更新间隔默认为 100mS,
如果在广播数据更新期间发送多个包,
则最后一包数据将作为广播数据。使用串口透传更新广播数据,建议采用串口超时机制,每个包之间
的间隔必须大于串口超时时间。广播数据包不可以超过 30 个字节,包的格式参考蓝牙协议规范。
5.2 主机模式
主机模式仅支持我司的 CH914x 从机模式芯片,主机模式支持扫描连接和直接 MAC 地址连接,扫
描回显的设备只显示 CH914x 从机芯片,扫描结束后可以使用扫描回显的结果进行序号连接,连接时
在 AT 模式下输入序号和从机连接密码。也可以不进行扫描,直接输入需要连接的从机的 MAC 地址和
密码,芯片会自动去连接该设备。主机模式支持设置自动连接的 MAC,如果设置该项,主机在初始化
完成后会自动连接该设备,这种方式不需要扫描等操作。
5.3 从机模式
从机模式下芯片会发送固定广播数据,支持修改扫描应答数据里的芯片名称,即文档下面描述的
CH9141 中文手册
http://wch.cn
4
芯片名称,默认广播间隔为 100mS。从机支持四种基本蓝牙服务,其中透传服务 UUID 为 0xFFF0。
通讯的 UUID 是 0xFFF1、0xFFF2、0xFFF3 说明参考下面表格。
UUID
属性
说明
0xFFF1
通知
串口接收数据将通过该通道发送给主机,主机需要开启通知,
数据会以 MTU 大小封包,超过的将会被芯片分包发送。
0xFFF2
只写
主机发送数据通道,发送数据将会在串口发送出去。
0xFFF3
读、写
配置通道,IO 同步等功能。
5.4 串口透传功能
串口透传使用异步串口,默认出厂波特率为 115200bit/s。芯片的串口接收缓存为 512 个字节,
串口接收数据的同时会实时进行蓝牙传输。进行 AT 配置时建议保证数据传输结束,进 AT 配置时,当
前接收到的透传数据没有保存会丢失,已经保存到接收缓存区的数据会在退出 AT 模式时继续发送。
蓝牙接收到数据是会直接发送给串口,数据不会暂存,蓝牙数据多的时候会等待发送,如果当前已经
进入 AT 模式,蓝牙接收到的数据直接丢弃。建议主机发送时做一些速度方面的限制以降低丢包和缓
冲区溢出。
由于蓝牙通信速率与其环境有关,所以在串口波特率超过 9600bit/s,且蓝牙平均 RSSI 小于
-70dBm 时,建议使用 CTS/RTS 流控防止缓存区溢出。
5.5 参数配置
配置方式有两种:一是在设备模式下可以通过蓝牙进行配置和控制,二是通过串口进入 AT 配置
模式进行配置。
蓝牙配置仅在从机模式下使用,广播模式和主机模式不可使用,配置命令可以使用例程里的接口
进行操作,配置后芯片会自动保存参数,并在下一次启动时生效。
串口配置是在串口进入 AT 模式下进行配置,AT 引脚。串口进行 AT 操作时,必须等到芯片应答
后才可以发送下一包数据,不可以连续发送。数据统一采用 ASCII 字符传输,HEX 形式的参数也是转
换成 ASCII 形式。
配置参数修改时有些不是立即生效需要重启后生效,建议将参数全部修改后重启芯片。
5.6 设备信息
从机模式支持的设备信息属性包括:System ID、Model Number String、Serial Number String、
Firmware Revision String、Hardware Revision String、Software Revision String、Manufacturer
Name String、PnP ID。这些参数都支持用户修改,String 格式输入字符串,大小不超过 18 个字符,
另外 System ID 和 PnP ID 这两个参数需要符合蓝牙协议,System ID 参数用户不去配置,芯片将会
自动生成一个,PnP ID 不配置将会以全 0 来显示,可以参考下面的表格。
UUID
名称
说明
0x2A23
System ID
系统 ID,8 个字节
0x2A24
Model Number String
芯片名称字符串
0x2A25
Serial Number String
序列号字符串
0x2A26
Firmware Revision String
固件版本信息
0x2A27
Hardware Revision String
硬件版本信息
0x2A28
Software Revision String
软件版本信息
0x2A29
Manufacturer Name String
厂商名称信息
0x2A50
PnP ID
PnP ID,7 个字节
5.7 功能引脚
CH9141 中文手册
5
http://wch.cn
5.7.1 MODEM 联络信号
CH9141 支持常用的 MODEM 联络信号 RTS、DTR、DCD、RI、DSR、CTS。当蓝牙配置通道的“通知服
务”打开时,MODEM 状态变化会以命令帧形式通知主机,命令帧详见第 8 章描述。DTR、RTS 输出信号
可以通过 AT 命令或者发送控制命令给蓝牙配置通道进行控制,当流控功能启用时,RTS 引脚会被芯
片自动控制。
5.7.2 RS485 切换引脚 TNOW
芯片 RTS 引脚可设置成 TNOW 功能输出引脚使用,支持软件和硬件配置。软件配置:通过 AT 命令
或蓝牙 APP 发送配置命令设置 TNOW 引脚功能开启和极性控制。硬件配置,在软件没有配置的情况下,
RTS#/TNOW 在芯片上电后设置为上拉输入模式,默认高电平,外部可接一个 4.7K 下拉电阻设置为低
电平,芯片上电完成后会根据输入电平的高低分别选择 RTS#和 TNOW 引脚功能。TNOW 引脚默认串口发
送时输出高电平,不发送时输出低电平。
5.7.3 蓝牙连接状态引脚 BLESTA
芯片 DTR 引脚可设置成 BLESTA 蓝牙连接状态输出引脚使用,支持软件和硬件配置。软件配置:
通过 AT 命令或蓝牙 APP 发送配置命令设置 BLESTA 引脚功能开启和极性控制。硬件配置,在软件没有
配置 GPIO 和 BLESTA 功能情况下,DTR#/BLESTA/GPIO4 在芯片上电后设置为上拉输入模式,默认高电
平,
外部可接一个 4.7K 下拉电阻设置为低电平,
芯片上电完成后会根据输入电平的高低分别选择 DTR#
和 BLESTA 引脚功能。BLESTA 引脚默认蓝牙未连接输出低电平,蓝牙连接后输出高电平。
BLESTA 引脚功能只在蓝牙主机和从机模式下可用。
5.7.4 GPIO 功能
GPIO 功能分为两种:一是同步 IO,用于主机芯片和从机芯片连接后双方同步;二是通用 IO 可以
通过 AT 命令配置使用,也可以通过配置接口配置和调试使用。当芯片的功能引脚工作在其他模式情
况下,对通用 GPIO 进行操作时,芯片将会自动将该 GPIO 的其他功能关闭,开启 GPIO 功能,修改并
保存参数,下次上电或重启后自动作为 GPIO 功能使用。
芯片提供 8 个 GPIO,分为 4 个同步 IO、4 个通用 IO,GPIO 的序号为 0-7 即 GPIO0、GPIO1…GPIO7。
同步 IO 为 GPIO0、GPIO1、GPIO2、GPIO3,其中 GPIO1、GPIO3 为输入,GPIO0、GPIO2 为输出,
同步的 GPIO 的输入输出特性不可更改,当主机和从机连接后,两个芯片会同步这个 4 个 IO,同步规
则是主机的 GPIO1、GPIO3 输入对应到从机的 GPIO0、GPIO2 输出,同时从机的 GPIO1、GPIO3 输入对
应到主机的 GPIO0、GPIO2 输出,同步时间最短是一个连接事件,需要注意的是:同步 IO 在同步期间
会被串口透传打断,串口透传的数据在蓝牙传输中是优先传输,在空闲的时候才会传输 IO 同步信息,
所以在串口透传时候同步 IO 会推迟同步。
通用的 IO 为 GPIO4、GPIO5、GPIO6、GPIO7,每一个 IO 都可以独立配置使用,可以配置成输入
或者输出,可以通过 AT 配置来设置 IO 和控制或者读取 IO 电平,也可以在蓝牙从机工作模式时通过
蓝牙配置接口发送命令来配置和控制。在配置方面,建议不要中途修改 IO 配置,每个 IO 经过设置都
会保存一次参数,所以 IO 要固定其使用方式配置一次即可,发送 AT 命令也是需要根据输入输出特性
发送命令,即输入模式的 IO 只能发送读取,输出模式的 IO 只能发送设置。
5.8 ADC 功能
ADC 功能,芯片提供一路 12 位的 ADC 采样,可以通过 AT 命令读取或者在设备模式下通过蓝牙配
置接口读取 ADC 采样的值。采样输入的电压范围为 0-2V。
芯片可以通过命令码来获取当前的电源电压方便对电池供电的环境进行电压监控。
5.9 低功耗功能
低功耗模式分为两种睡眠模式,一是睡眠模式,蓝牙将继续工作其他不相关的外设将会关闭,二
CH9141 中文手册
6
http://wch.cn
是芯片进入掉电模式,唤醒时芯片直接复位重新运行。睡眠模式可以通过 AT 命令来设置,建议根据
自身的需求选择相应的睡眠模式,不要经常更改睡眠模式。
睡眠模式时主控不可以发送串口数据,可以通过低功耗睡眠控制引脚(SLEEP 引脚)拉低来控制
芯片进入低功耗模式,该模式不是真正意义上的睡眠而是根据蓝牙通讯要求会自动唤醒并处理蓝牙,
蓝牙上收到数据还是会通过串口发送给主控,蓝牙没有事务处理则会自动睡眠,但是主控要发送数据
必须将睡眠引脚拉高,并等待 20mS 以上,再发送数据,否则会引起数据出错,拉高之后芯片会退出
低功耗模式。
掉电模式芯片将所有不相关的外设全部掉电,蓝牙不再运行,控制睡眠引脚(SLEEP 引脚)拉低
进入掉电模式,拉高唤醒时芯片将复位。
5.10 恢复出厂设置
芯片提供一个恢复出厂设置引脚(RELOAD/LED)
,芯片上电后会检测恢复出厂设置引脚,检测到
该引脚持续拉低 2 秒后芯片会恢复出厂设置,之后芯片就以出厂设置的参数运行。RELOAD 检测处理
后该引脚会复用为 LED 输出引脚。
5.11 LED 引脚功能
芯片的 LED 引脚显示当前的模块的运行状态,低电平有效,默认高电平,也可以接一个 LED 灯来
直观看模块工作情况。
广播模式下,
LED 默认为高,
接收到有命令更新广播数据时将以 50mS 低 50mS 高的时间闪烁一次。
从机模式下,模块初始成功后会进入广播状态,此时 LED 将以 500mS 低 500mS 高的时间进行连续
闪烁;当有主机连接时,LED 引脚将拉低,保持外部 LED 常亮的状态;此时有数据收发时 LED 会以 50mS
高 50mS 低的时间闪烁一次,最后保持低电平状态,断开连接后会重新进入广播状态。
主机模式下,默认 LED 为高,当执行扫描动作时,LED 将以 165mS 低 165mS 高的时间进行连续闪
烁,直到扫描结束,LED 变成高电平保持默认状态;当执行连接时,在连接成功后会拉低,保持外部
LED 常亮的状态;有数据收发时将以 50mS 高 50mS 低的时间闪烁一次。连接如果断开,LED 拉高,此
时如果没有 AT 命令则主机模块会主动重连从机,如果连接成功则变成连接状态,引脚拉低。
在低功耗模式开启情况下 LED 引脚将输出常高,不更新 LED 状态。
5.12 外部晶振
芯片的工作需要外接 32M 晶振,芯片引脚内置负载电容,可以不用外接负载电容。如果对频偏有
严格的要求情况下,建议外部预留负载电容的位置以方便在整体系统上测试和调整频偏。
芯片的 32K 低频晶振不是必须的。如果外接 32K 晶振时,芯片将会自动切换使用外部晶振,引脚
内置负载电容,可以不用外接负载电容。如果使用芯片工作在主机模式情况下,建议外接 32K,以提
到时钟的精准度。
5.13 内部 LSI 和 RF 校准
芯片提供定时和温度差两种方式对内部 LSI 时钟和 RF 进行校准,使用外部 32K 晶振情况不用关
心内部 32K 校准设置也不会对 LSI 时钟进行校准。建议在温度差比较大,或者环境温度变化快的应用
中合理设置定时或者温度差方式对芯片进行校准。
定时方式,根据设定的时间参数,定时进行内部 LSI 时钟校准和 RF 校准。
温度差方式,根据设定的时间参数,定时采样温度差,当温差达到设定的阈值时,进行内部 LSI
时钟校准和 RF 校准。
CH9141 中文手册
http://wch.cn
7
6、AT 指令集
6.1 AT 基本格式
AT 模式下芯片作为串口从设备,与芯片相连的主控(主机)为串口主设备,AT 命令由主机发送,
芯片给出响应。
主机发送基本格式:
说明:基本格式是大部分命令码,部分命令有所区别,具体见下面的命令集。其中{CR}{LF}对应
的是字符格式定义的“\r”
“\n”
,十六进制为:0x0D,0x0A 即 ASCII 中的回车符和换行符,命令中
{CR}{LF}作为一个分隔符和结束符使用。
芯片返回基本格式:
返回参数格式:
正确状态返回:
错误状态返回:
说明:错误码是两个 ASCII 字符组成的一个 HEX 形式,如错误码为字符“01”即表示十六进制的
0x01。目前的错误码及表示的含义如下图所示:
错误码
含义
01
缓存错误:当前芯片没有缓存来进行应答,可以稍后重试。
02
参数错误:发送的 AT 指令部分参数不符合规范,注意芯片不会对所有参数进行判定需要
外部保证基本的正确性。
03
命令不支持:命令在当前模式下不支持,比如在广播模式下发送连接命令等
04
命令不可执行:命令暂时不能执行,可以稍后重试,一般是没有足够的缓存处理这次命
令,芯片在忙。
6.2 串口配置命令集
序号
指令
说明
1
AT...
进入 AT 配置
2
AT+RESET
复位芯片
3
AT+VER
获取芯片版本号
4
AT+HELLO
查询/设置开机语
5
AT+RELOAD
重置所有参数
6
AT+SHOW
显示芯片信息
7
AT+SAVE
保存当前参数
8
AT+EXIT
退出 AT 配置
9
AT+GPIO
查询/设置通用 GPIO 和同步 GPIO
10
AT+INITIO
GPIO 输出初值设置
11
AT+UART
查询/设置串口参数
12
AT+MAC
查询本地 MAC 地址
13
AT+TPL
查询/设置发射功率
14
AT+BLESTA
查询蓝牙状态
15
AT+DISCONN
断开当前连接
16
AT+BLEMODE
查询/设置蓝牙工作模式
17
AT+CCADD
查询当前连接 MAC 地址
18
AT+NAME
查询/设置芯片名称
CH9141 中文手册
http://wch.cn
8
19
AT+PNAME
查询/设置设备名称
20
AT+PASEN
查询/设置密码使能
21
AT+PASS
查询/设置密码
22
AT+SYSID
查询/设置设备信息的系统 ID
23
AT+MODNAME
查询/设置设备信息的芯片名称
24
AT+SERINUM
查询/设置设备信息的序列号
25
AT+FIRMREV
查询/设置设备信息的固件版本
26
AT+HARDREV
查询/设置设备信息的硬件版本
27
AT+SOFTREV
查询/设置设备信息的软件版本
28
AT+MANUNAME
查询/设置设备信息的厂商名称
29
AT+PNPID
查询/设置设备信息的 PNP ID
30
AT+ADVEN
查询/设置广播使能
31
AT+ADVDAT
查询/设置广播数据
32
AT+LINK
根据序号连接指定蓝牙设备
33
AT+CONN
根据给定的蓝牙设备参数直接连接
34
AT+SCAN
主机扫描命令
35
AT+CONADD
查询/设置默认连接参数
36
AT+CLRCONADD
清空默认连接参数
37
AT+RSSI
设置读取 RSSI
38
AT+ADC
读取 ADC 值
39
AT+SLEEP
设置芯片睡眠模式
40
AT+BAT
读取芯片的电源电压
41
AT+BDSP
主机扫描显示从机电压
42
AT+BLECFGEN
蓝牙配置接口开关
43
AT+BCCH
广播通道设置
44
AT+ADVINTER
广播间隔设置
45
AT+CONNINTER
连接间隔设置
46
AT+LSICALI
内部 32K 时钟校准设置
47
AT+RFCALI
蓝牙 RF 校准设置
48
AT+TNOW
TNOW 引脚功能设置
49
AT+BSTA
蓝牙状态引脚设置
50
AT+AFEC
流控以及输出引脚设置
51
AT+IOEN
设置 GPIO 功能启用
1.进入 AT 配置
指令:AT...{CR}{LF}
说明:该命令在不使用引脚进 AT 配置时使用,在串口空闲 500mS 后发送,芯片会进入 AT 模式,
并返回状态,进入 AT 模式后发送该命令也会给出响应。
返回:OK{CR}{LF}
例:主机发送:AT...{CR}{LF} 芯片应答:OK{CR}{LF}
2.复位芯片
指令:AT+RESET{CR}{LF}
说明:该命令会使芯片在 20mS 后复位。
返回:OK{CR}{LF}
CH9141 中文手册
9
http://wch.cn
3.获取芯片版本号
指令:AT+VER{CR}{LF}
说明:获取芯片的版本,返回版本号和状态
返回:VER:{CR}{LF}OK{CR}{LF}
例:主机发送:AT+VER{CR}{LF}芯片应答:VER:V1.00{CR}{LF}OK{CR}{LF}
4.开机语
获取指令:AT+HELLO?{CR}{LF}
说明:获取当前的开机语,开机语可以作为芯片初始化完成的标志。
返回:{CR}{LF}OK{CR}{LF}
例:主机发送:AT+HELLO?{CR}{LF} 芯片应答:Welcome{CR}{LF}OK{CR}{LF}
设置指令:AT+HELLO={CR}{LF}
说明:设置当前的开机语,当不使用开机语时,开机语字符串为空即可,字符数必须小于 30 个。
返回:设置状态,正确则设置成功,错误则查询错误码。
例:主机发送:AT+HELLO=WCH MODULE{CR}{LF} 芯片返回:OK{CR}{LF}
例:主机发送:AT+HELLO={CR}{LF} 芯片返回:OK{CR}{LF},不启用该功能
5.重置所有参数
指令:AT+RELOAD{CR}{LF}
说明:该命令会重置芯片所有参数,即恢复出厂设置并保持。
返回:状态。
例:主机发送:AT+RELOAD{CR}{LF} 芯片应答:OK{CR}{LF}
6.显示信息
指令:AT+SHOW{CR}{LF}
说明:显示芯片的一些信息。
返回:信息参数和状态。
例:主机发送 AT+SHOW{CR}{LF}芯片应答:OK{CR}{LF}
7.保存当前参数
指令:AT+SAVE{CR}{LF}
说明:保存当前设置的所有参数,设置的命令基本都会自动保存,而这条命令会与已经保存的有
冲突,建议不使用该命令。
返回:状态。
例:主机发送:AT+SAVE{CR}{LF} 芯片应答:OK{CR}{LF}
8.退出 AT 配置
指令:AT+EXIT{CR}{LF}
说明:退出当前的 AT 配置模式,和进入配置命令一起使用,使用 AT 引脚进入 AT 配置模式,不
可使用该命令。
返回:OK{CR}{LF}
例:主机发送:AT+EXIT{CR}{LF} 芯片应答:OK{CR}{LF}
9.GPIO 设置
获取指令:AT+GPIO?{CR}{LF}
说明:x 为 ASC 格式的 4-7,获取 x 的引脚电平状态,这里获取会引起 GPIO 设置的变化,当前 x
引脚设置为输入模式时,则直接返回读取的 IO 电平状态;当前 x 引脚设置为输出模式时,使用该命
令会使该引脚重新配置成输入模式,并保存参数,返回读取的 IO 电平状态。建议 IO 固定成一种模式,
中途不要修改其输入输出配置。
返回:{CR}{LF}OK{CR}{LF}
例:主机发送:AT+GPIO4?{CR}{LF} 芯片应答:1{CR}{LF}OK{CR}{LF}
设置指令:AT+GPIO={CR}{LF}
CH9141 中文手册
10
http://wch.cn
说明:同获取一样的,模式不对时将会设置并保存设置,建议也是中途不要修改其输入输出配置。
返回:OK{CR}{LF}
例:主机发送:AT+GPIO4=0{CR}{LF} 芯片应答:OK{CR}{LF}
10.GPIO 输出初值设置
获取指令:AT+INITIO?{CR}{LF}
说明:命令获取配置里的 GPIO 输出默认值,该值影响上电初始化完成后 IO 输出的值,对应输入
状态的 IO 则不关心,获取的是一个 HEX 转换的 ASCII,比如:0xcc,表示二进制的 11001100,bit7-bit0
分别对应的是 GPIO7-GPIO0,为 0 输出低电平,为 1 输出高电平。
返回:执行的状态。
例:主机发送:AT+INITIO?{CR}{LF} 芯片应答:CC{CR}{LF}OK{CR}{LF}
设置指令:AT+INITIO={CR}{LF}
说明:设置的参数格式与获取的参数格式一致,每一个位表示对应的 IO 上电输出状态,设置完
成主机将保存参数。
返回:执行状态
例:主机发送:AT+INITIO=00{CR}{LF},上电输出的 IO 都是低电平芯片应答:OK{CR}{LF}
11.串口设置
获取指令:AT+UART?{CR}{LF}
说明:返回当前的串口参数配置。
返回:,,,,{CR}{LF}
例:主机发送:AT+UART?{CR}{LF} 芯片返回:115200,8,1,1,50{CR}{LF}OK{CR}{LF}
设置指令:AT+UART=,,,,{CR}{LF}
说明:该命令设置串口参数,其中波特率支持参数:9600bit/s、19200bit/s、38400bit/s、
57600bit/s、115200bit/s、1000000bit/s;数据位支持参数:8、9;停止位支持的参数:1、2;校
验位支持的参数:0(无校验)、1(奇校验)、2(偶校验);超时时间是透传模式下的数据超时时间,
单位为 mS。发送完该命令,芯片将保存该设置的参数并返回应答,5mS 后将按该配置的参数重新初始
化串口。
例:主机发送:AT+UART=115200,8,1,0,50{CR}{LF} 芯片应答:OK{CR}{LF}
12.MAC 地址
查询指令:AT+MAC?{CR}{LF}
说明:读取芯片的蓝牙 MAC 地址,返回的参数格式 xx:xx:xx:xx:xx:xx,MAC 为小端格式即低字
节在前,不支持设置 MAC。
返回:蓝牙 MAC 地址
例:主机发送:AT+MAC?{CR}{LF} 芯片返回:05:DF:39:4C:99:B4{CR}{LF}OK{CR}{LF}
设置指令:AT+MAC=xx:xx:xx:xx:xx:xx{CR}{LF},参数以小端格式填入。
说明:MAC 参数不建议修改,修改时,芯片不会对参数的合法性进行验证。该参数在下一次上电
或复位生效。
例:主机发送:AT+MAC=05:DF:39:4C:99:B4{CR}{LF} 芯片应答:OK{CR}{LF}
13.发射功率
查询指令:AT+TPL?{CR}{LF}
说明:查询当前蓝牙发送功率。
返回:功率等级。
例:主机发送:AT+TPL?{CR}{LF} 芯片返回:0{CR}{LF}OK{CR}{LF}
设置指令:AT+TPL={CR}{LF}
说明:设置蓝牙发射功率,x 支持的参数:0(0DB)
、1(1DB)、2(2DB)、3(3DB)、4(-3DB)、
5(-8DB)
、6(-14DB)
、7(-20DB)
,其他的参数不支持,设置参数会保存,并在下一次重启时生效。
例:主机发送:AT+TPL=1{CR}{LF} 芯片应答:OK{CR}{LF}
CH9141 中文手册
http://wch.cn
11
14.查询蓝牙状态
指令:AT+BLESTA?{CR}{LF}
说明:查询当前的蓝牙状态,状态是两个 ASCII 组成的,表示一个 HEX,注意是区别模式,下图
表示各个模式返回表示的状态及含义。
广播模式
主机模式
从机模式
状态码
含义
状态码
含义
状态码
含义
00
未初始化
00
未初始化
00
未初始化
01
设备初始化完成
01
扫描
01
设备初始化完成
02
广播
02
连接中
02
广播
03
连接成功
03
准备广播状态
04
断开连接中
04
连接超时
05
连接成功
07
错误
07
错误
返回:当前模式下的状态码。
例:主机发送 AT+BLESTA?{CR}{LF} 芯片应答:02{CR}{LF}OK{CR}{LF}
15.断开连接
指令:AT+DISCONN{CR}{LF}
说明:断开当前的连接,该命令返回的状态不是已经断开而是接受到命令并可以去执行,断开的
结果可以使用查询状态来查看。
返回:状态。
例:主机发送:AT+DISCONN{CR}{LF} 芯片返回:OK{CR}{LF}
16.蓝牙工作模式
查询指令:AT+BLEMODE?{CR}{LF}
说明:返回当前的蓝牙工作模式,模式参数为:0(广播模式)
、1(主机模式)
、2(设备模式)。
返回:工作模式。
例:主机发送:AT+BLEMODE?{CR}{LF} 芯片返回:2{CR}{LF}OK{CR}{LF}
设置指令:AT+BLEMODE={CR}{LF}
说明:设置模式的参数 x 为:0(广播模式)
、1(主机模式)
、2(设备模式)
,命令接收后保存该
配置参数,在下一次重启才执行。
例:主机发送:AT+BLEMODE=1{CR}{LF} 芯片返回:OK{CR}{LF}
17.获取当前连接 MAC 地址
指令:AT+CCADD?{CR}{LF}
说明:获取当前与芯片连接的 MAC 地址,MAC 为小端格式即低字节在前,没有连接则返回空的 MAC
地址。
返回:连接的 MAC 地址。
例:主机发送:AT+CCADD?{CR}{LF} 芯片返回:05:DF:39:4C:99:B4{CR}{LF}OK{CR}{LF}
18.芯片名称
获取指令:AT+NAME?{CR}{LF}
说明:获取当前设备的芯片名称,字符串格式。
返回:当前的芯片名称。
例:主机发送:AT+NAME?{CR}{LF} 芯片应答:WCH MODULE{CR}{LF}OK{CR}{LF}
设置指令:AT+NAME={CR}{LF}
说明:芯片名称字符串长度不超过 18 个字符,设置命令发送后,芯片将会保持该参数,并在下
一个重启后启用,该芯片名称会在设备模式下广播包里体现,在主机搜索时会显示改名称。其他模式
就不使用该参数,不过使用命令也可以读取芯片名称。
CH9141 中文手册
12
http://wch.cn
返回:状态。
例:主机发送:AT+NAME=TEST NAME{CR}{LF} 芯片返回:OK{CR}{LF}
19.设备名称
获取指令:AT+PNAME?{CR}{LF}
说明:获取设备的设备名称,该名称在设备模式时使用,用于属性描述的名称,具体可以参考蓝
牙协议。
返回:设备名称。
例:主机发送:AT+PNAME?{CR}{LF} 芯片应答:WCH PREI{CR}{LF}OK{CR}{LF}
配置指令:AT+PNAME={CR}{LF}
说明:设置设备名称,保存参数,并在下一次启动时使用,名称长度不超过 18 个字符。
例:主机发送:AT+PNAME=TEST PNAME{CR}{LF} 芯片应答:OK{CR}{LF}
20.密码使能
获取指令:AT+PASEN?{CR}{LF}
说明:查询当前密码使能状态,返回的参数为“ON”
、
“OFF”对应的是开启和关闭。
返回:密码使能的状态。
例:主机发送:AT+PASEN?{CR}{LF} 芯片应答:ON{CR}{LF}OK{CR}{LF}
配置指令:AT+PASEN={CR}{LF}
说明:使能状态也是“ON”
、
“OFF”
,表示是否使用密码,对从机有效,当不使能密码时将给出一
个默认是 0 的密码值,命令将在下一次启动生效。
返回:执行的状态。
例:主机发送:AT+PASEN=ON{CR}{LF} 芯片应答:OK{CR}{LF}
21.密码设置
获取指令:AT+PASS?{CR}{LF}
说明:指令查询密码,返回的是当前配置的从机密码。
返回:从机密码
例:主机发送:AT+PASS?{CR}{LF} 芯片应答:123456{CR}{LF}OK{CR}{LF}
设置指令:AT+PASS={CR}{LF}
说明:配置当前从机的连接密码,格式是 ASCII 码,指令设置的参数会在下一次启动时生效。
返回:指令执行的状态。
例:主机发送:AT+PASS=111222{CR}{LF} 芯片应答:OK{CR}{LF}
22.设备信息的系统 ID
获取指令:AT+SYSID?{CR}{LF}
说明:获取设备信息的系统 ID,该系统 ID 用于设备模式下的信息,具体可以参考蓝牙协议,用
户不设置该参数,则在芯片初始化完成后根据蓝牙协议生成一个 ID,获取时就会获取该参数,用户
设置后则在芯片初始化完成后不会生成新的,而使用设置的参数。
返回:当前的系统 ID。
例:主机发送:AT+SYSID?{CR}{LF} 芯片返回:05DF3900004C99B4{CR}{LF}OK{CR}{LF}
配置指令:AT+SYSID={CR}{LF}
说明:系统 ID 的大小为 8 个字节,即发送 16 个字符来配置,每两个字符组成一个字节,配置后
会在下一次启动时使用。
返回:状态。
例:主机发送:AT+SYSID=0102030405060708{CR}{LF} 芯片返回:OK{CR}{LF}
23.设备信息的芯片名称
获取指令:AT+MODNAME?{CR}{LF}
说明:获取设备信息的芯片名称,该名称使用在设备模式下的设备信息属性参数。
返回:当前的设备信息的芯片名称。
CH9141 中文手册
13
http://wch.cn
例:主机发送:AT+MODNAME?{CR}{LF} 芯片应答:WCH BLE{CR}{LF}OK{CR}{LF}
设置指令:AT+MODNAME={CR}{LF}
说明:设置设备信息的芯片名称,长度不超过 18 个字符。
返回:状态。
例:主机发送:AT+MODNAME=TEST MODNAME{CR}{LF} 芯片应答:OK{CR}{LF}
24.设备信息的序列号
获取指令:AT+SERINUM?{CR}{LF}
说明:获取当前设备信息的序列号,字符串形式。
返回:序列号
例:主机发送:AT+SERINUM?{CR}{LF} 芯片应答:170621000000{CR}{LF}OK{CR}{LF}
设置指令:AT+SERINUM={CR}{LF}
说明:序列号为字符串形式,字符大小不超过 18 个字符,设置保存参数,并在下一次启动时生
效。
返回:状态。
例:主机发送:AT+SERINUM=123456{CR}{LF} 芯片应答:OK{CR}{LF}
25.设备信息的固件版本
获取指令:AT+FIRMREV?{CR}{LF}
说明:获取设备信息的固件版本,字符串格式。
返回:设备信息的固件版本。
例:主机发送:AT+FIRMREV?{CR}{LF}芯片返回:VER1.0{CR}{LF}OK{CR}{LF}
设置指令:AT+FIRMREV={CR}{LF}
说明:固件版本为字符串形式,字符大小不超过 18 个字符,设置时保存参数,并在下一次启动
时生效。
返回:状态。
例:主机发送:AT+FIRMREV=VER1.2{CR}{LF} 芯片应答:OK{CR}{LF}
26.设备信息的硬件版本
获取指令:AT+HARDREV?{CR}{LF}
说明:获取设备信息的硬件版本,字符串格式。
返回:设备信息的硬件版本。
例:主机发送:AT+HARDREV?{CR}{LF} 芯片返回:VER1.0{CR}{LF}OK{CR}{LF}
设置指令:AT+HARDREV={CR}{LF}
说明:设置设备的硬件版本信息,字符串格式,不超过 18 个字符。
返回:状态。
例:主机发送:AT+HARDREV=VER1.2{CR}{LF} 芯片应答:OK{CR}{LF}
27.设备信息的软件版本
获取指令:AT+SOFTREV?{CR}{LF}
说明:获取设备信息的软件版本,字符串形式。
返回:设备信息的软件版本。
例:主机发送:AT+SOFTREV?{CR}{LF} 芯片应答:VER1.0{CR}{LF}OK{CR}{LF}
设置指令:AT+SOFTREV={CR}{LF}
说明:设置设备信息的软件版本,字符串格式,不超过 18 个字符。
返回:状态。
例:主机发送:AT+SOFTREV=VER1.2{CR}{LF} 芯片应答:OK{CR}{LF}
28.设备信息的厂商名称
获取指令:AT+MANUNAME?{CR}{LF}
说明:获取设备信息的厂商名称,字符串形式。
CH9141 中文手册
14
http://wch.cn
返回:设备信息的厂商名称
例:主机发送:AT+MANUNAME?{CR}{LF} 芯片应答:WCH{CR}{LF}OK{CR}{LF}
设置指令:AT+MANUNAME={CR}{LF}
说明:设置设备信息的厂商名称,字符串格式,不超过 18 个字符。
返回:状态。
例:主机发送:AT+MANUNAME=TEST{CR}{LF} 芯片应答:OK{CR}{LF}
29.设备信息的 PNP ID
获取指令:AT+PNPID?{CR}{LF}
说明:查询设备的 PNP ID,返回的是 7 个字节转换成 ASC 格式的字符串。
返回:设备信息的 PNP ID
例:主机发送:AT+PNPID?{CR}{LF} 芯片应答:01020304050607{CR}{LF}OK{CR}{LF}
设置指令:AT+PNPID={CR}{LF}
说明:PNP ID 为 7 个字节,即设置字符为 14 个,PNP ID 参考蓝牙协议。
返回:状态。
例:主机发送:AT+PNPID=10203040506070{CR}{LF} 芯片应答:OK{CR}{LF}
30.广播使能控制
获取指令:AT+ADVEN?{CR}{LF}
说明:获取当前广播状态。
返回:ON 与 OFF,分别表示开启和关闭。
例:主机发送:AT+ADVEN?{CR}{LF} 芯片应答:ON{CR}{LF}OK{CR}{LF}
设置指令:AT+ADVEN={CR}{LF}
说明:设置的控制参数为“ON”
、
“OFF”
,分别表示开启和关闭,在关闭状态下接收到广播数据设
置时自动开启广播使能。
返回:状态。
例:主机发送:AT+ADVEN=OFF{CR}{LF} 芯片应答:OK{CR}{LF}
31.广播数据
获取指令:AT+ADVDAT?{CR}{LF}
说明:查询当前广播的数据。
返回:广播数据。
例:主机发送:AT+ADVDAT?{CR}{LF}芯片应答:02010604FF010203{CR}{LF}
设置指令:AT+ADVDAT={CR}{LF}
说明:设置广播数据,最大 31 字节,传输格式是 ASC 格式。广播数据格式参考蓝牙协议规范。
返回:状态。
例:主机发送:AT+ADVDAT=02010604FF010203{CR}{LF} 芯片应答:OK{CR}{LF}
32.序号连接
指令:AT+LINK=,{CR}{LF}
说明:扫描后,根据扫描给出的序号,指定一个序号连接,序号从 1 开始。
返回:命令操作状态。
例:主机发送:AT+LINK=1,123456{CR}{LF}芯片应答:OK{CR}{LF}
33.直接连接
指令:AT+CONN=,{CR}{LF}
说明:可以不扫描直接连接已知 MAC 的蓝牙设备,MAC 数据格式:xx:xx:xx:xx:xx:xx,MAC 为小
端格式即低字节在前,密码格式是字符串。
返回:命令操作结果。
例:AT+CONN=05:DF:39:4C:99:B4,123456{CR}{LF} 芯片应答:OK{CR}{LF}
34.主机扫描命令
CH9141 中文手册
15
http://wch.cn
指令:AT+SCAN={CR}{LF}
说明:控制扫描,参数为:
“ON”
、“OFF”,建议开启扫描,并等到扫描自动结束,此时串口会输
出扫描的结果和设备对应的序号,不一定需要发送停止命令。
返回:命令操作结果。
例:主机发送:AT+SCAN=ON{CR}{LF} 芯片应答:OK{CR}{LF}
35.默认连接参数
获取指令:AT+CONADD?{CR}{LF}
说明:查询内部保存的默认连接的参数,该参数如果有效则在芯片初始化后会自动连接该默认参
数。
返回:内部保存的默认连接的参数。
例:主机发送:AT+CONADD?{CR}{LF} 芯片应答:05:DF:39:4C:99:B4,123456{CR}{LF}
设置指令:AT+CONADD=,{CR}{LF}
说明:设置默认连接的参数,MAC 为小端格式即低字节在前。
返回:命令执行结果。
例:主机发送:AT+CONADD=05:DF:39:4C:99:B4,123456{CR}{LF}芯片应答:OK{CR}{LF}
36.清空默认连接参数
指令:AT+CLRCONADD{CR}{LF}
说明:命令用于清空默认连接参数,并保存。
返回:指令执行状态。
例:主机发送:AT+CLRCONADD{CR}{LF} 芯片应答:OK{CR}{LF}
37.读取 RSSI
指令:AT+RSSI=,{CR}{LF}
说明:读取 RSSI 只能在连接之后有效,命令可能会执行,蓝牙未连接时不会读取 RSSI,也不会
返回 RSSI 数据。该命令只能设置不可以查询,其中控制为“ON”
、
“OFF”分别表示开启和关闭。关闭
是不需要参数的,参数是循环读取 RSSI 的周期,单位是毫秒。当参数为 0 时表示单次读取,单次读
取的时间间隔为 50mS。在芯片应答后,会根据设置的循环时间长度返回 RSSI 的读取值,返回的值是
在 AT 模式下会一直返回,建议读取和关闭都是在 AT 状态下执行防止与数据部分由冲突,建议时间间
隔不要低于 50mS,一是保证串口能够正常输出,二是蓝牙处理事务是有间隔的。
返回:返回执行命令的状态。
例:主机发送:AT+RSSI=ON,1000{CR}{LF} 芯片应答:OK{CR}{LF}
例:主机发送:AT+RSSI=OFF{CR}{LF} 芯片应答:OK{CR}{LF}
38.读取 ADC 值
指令:AT+ADC?{CR}{LF}
说明:读取 ADC 的采样值,该值会以 ASCII 字符形式返回,返回值的有效范围是 0-4095,即 12
位 ADC 采样值的范围。
返回:ADC 采样值。
例:主机发送:AT+ADC?{CR}{LF} 芯片返回:2048{CR}{LF}OK{CR}{LF}
39.设置芯片睡眠模式
查询指令:AT+SLEEP?{CR}{LF}
说明:查询当前的睡眠模式。
返回:当前的睡眠模式。
例:主机发送:AT+SLEEP?{CR}{LF} 芯片返回:1{CR}{LF}OK{CR}{LF}
设置指令:AT+SLEEP={CR}{LF}
说明:设置芯片进入低功耗时睡眠模式,x 支持的参数:0(不进入低功耗)
、1(睡眠模式)、2
(掉电模式)
,其他参数不支持,设置参数会保存,并在下一次重启时生效。
例:主机发送:AT+SLEEP=1{CR}{LF} 芯片应答:OK{CR}{LF}
CH9141 中文手册
16
http://wch.cn
40.读取芯片的电源电压
指令:AT+BAT?{CR}{LF}
说明:读取当前的芯片的电源电压,也就是 VCC 电压值。
返回:一个 mV 单位的数值。
例:主机发送:AT+BAT?{CR}{LF} 芯片返回:2985{CR}{LF}OK{CR}{LF}
41.主机扫描显示从机电压
查询指令:AT+BDSP?{CR}{LF}
说明:查询当前主机扫描显示从机电压的设置状态。
返回:当前的设置状态。
例:主机发送:AT+BDSP?{CR}{LF} 芯片返回:ON{CR}{LF}OK{CR}{LF}
设置指令:AT+BDSP={CR}{LF}
说明:的值为“ON”或者“OFF”
,对应打开和关闭电压回显,该参数将会影响主机在扫描
时显示从机的信息,具体参考下面主机模式说明里的扫描介绍。
例:AT+BDSP=ON{CR}{LF} 芯片返回:OK{CR}{LF}
42.蓝牙配置接口控制
查询指令:AT+BLECFGEN?{CR}{LF}
说明:查询当前蓝牙配置接口开关状态。该状态是指蓝牙接口可以对芯片进行参数的获取配置等
是使能状态。当状态处于关闭时,蓝牙接口就不能获取和配置参数,直到使用 AT 命令重新打开。
返回:0{CR}{LF}OK{CR}{LF}或 1{CR}{LF}OK{CR}{LF}分别对应关闭蓝牙配置接口、打开蓝牙控
制接口。
例:主机发送:AT+BLECFGEN?{CR}{LF} 芯片返回:1{CR}{LF}OK{CR}{LF}
设置指令:AT+BLECFGEN={CR}{LF}
说明:与上面查询一样,为 0 或者 1,分别对应关闭和打开。
例:AT+BLECFGEN=1{CR}{LF} 芯片返回:OK{CR}{LF}
43.广播通道设置
查询指令:AT+BCCH?{CR}{LF}
说明:查询当前广播通道参数,返回值为:0、1、2、3 对应三个通道都开启、仅在 37 通道广播、
仅在 38 通道广播、仅在 39 通道广播。这里的 37、38、39 是在蓝牙协议定义的通道。参数设置后重
启生效。
例:主机发送:AT+BCCH?{CR}{LF} 芯片返回:0{CR}{LF}OK{CR}{LF}
设置指令:AT+BCCH={CR}{LF}
说明:设置广播通道参数,该参数影响广播模式和从机模式下的广播通道设置。
例:主机发送:AT+BCCH=0{CR}{LF} 芯片返回:OK{CR}{LF}
44.广播间隔设置
查询指令:AT+ADVINTER?{CR}{LF}
说明:查询当前广播间隔,返回的是数值,单位是 0.625mS,默认为 160,即 100mS 的广播间隔。
例:主机发送:AT+ADVINTER?{CR}{LF} 芯片返回:160{CR}{LF}OK{CR}{LF}
设置指令:AT+ADVINTER={CR}{LF}
说明:设置广播时间间隔,是数值。
例:主机发送:AT+ADVINTER=1600{CR}{LF} 芯片返回:OK{CR}{LF}
45.连接间隔设置 AT+CONNINTER
查询指令:AT+CONNINTER?{CR}{LF}
说明:查询当前芯片的连接间隔参数,返回是一个区间数值,分别对应最小值和最大值,在连接
时蓝牙协议会协商一个通讯的时间,如果参数不满足芯片将会发起重新协商。数值单位为 1.25mS。
例:主机发送:AT+CONNINTER?{CR}{LF} 芯片返回:6-16{CR}{LF}OK{CR}{LF}
设置指令:AT+CONNINTER=-{CR}{LF}
CH9141 中文手册
17
http://wch.cn
说明:设置连接间隔参数,参数范围需要满足蓝牙协议的要求,同时设置的数值不应超过 65535。
例:主机发送:AT+CONNINTER=6-160{CR}{LF} 芯片返回:OK{CR}{LF}
46.内部 32K 时钟校准设置 AT+LSICALI
查询指令:AT+LSICALI?{CR}{LF}
说明:芯片返回当前内部 32K 时钟校准参数,有三个参数域,中间使用逗号隔开,参数格式定义:
,,{CR}{LF}。其中校准模式值定义:0:关闭校准,1:采用定时
方式校准,2:采用温度差校准;温度差阈值:设定的值为温差变化差,该值设置后会在采用温度差
方式校准时使用;定时时间:以 mS 为单位,设置两种校准方式定时时间。
例:主机发送:AT+LSICALI?{CR}{LF} 芯片返回:2,7,5000{CR}{LF}OK{CR}{LF}
设置指令:AT+LSICALI=,,{CR}{LF}
说明:设置当前 LSI 时钟的校准模式,参数定义参考查询指令。
例:主机发送:AT+LSICALI=2,10,10000{CR}{LF} 芯片返回:OK{CR}{LF}
47.RF 校准设置 AT+RFCALI
查询指令:AT+RFCALI?{CR}{LF}
说明:芯片返回当前 RF 校准参数,有三个参数域,中间使用逗号隔开,参数格式定义:,,{CR}{LF}。其中校准模式值定义:0:关闭校准,1:采用定时方式校
准,2:采用温度差校准;温度差阈值:设定的值为温差变化差,该值设置后会在采用温度差方式校
准时使用;定时时间:以 mS 为单位,设置两种校准方式定时时间。两个设置校准命令格式一致。
例:主机发送:AT+RFCALI?{CR}{LF} 芯片返回:2,7,5000{CR}{LF}OK{CR}{LF}
设置指令:AT+RFCALI=,,{CR}{LF}
说明:设置当前 RF 校准模式,参数定义参考查询指令。
例:主机发送:AT+RFCALI=2,10,10000{CR}{LF} 芯片返回:OK{CR}{LF}
48.TNOW 引脚功能设置 AT+TNOW
查询指令:AT+TNOW?{CR}{LF}
说明:芯片返回当前 TNOW 引脚参数,有两个参数域,中间使用逗号隔开,参数格式定义:,{CR}{LF}。其中使能参数取值定义:0:关闭 TNOW 引脚功能,1:开启 TNOW 引脚输
出。极性选择参数取值定义:0:按照默认方式输出,1:按照默认方式取反输出。设置参数与查询参
数格式一致。
例:主机发送:AT+TNOW?{CR}{LF} 芯片返回:1,0{CR}{LF}OK{CR}{LF}
设置指令:AT+TNOW=,{CR}{LF}
说明:设置 TNOW 引脚功能,参数定义参考查询指令。
例:主机发送:AT+TNOW=1,0{CR}{LF} 芯片返回:OK{CR}{LF}
49.BLESTA 引脚功能设置 AT+BSTA
查询指令:AT+BSTA?{CR}{LF}
说明:芯片返回当前 BLESTA 引脚参数,有两个参数域,中间使用逗号隔开,参数格式定义:,{CR}{LF}。其中使能参数取值定义:0:关闭 BLESTA 引脚功能,1:开启 BLESTA
引脚输出。极性选择参数取值定义:0:按照默认方式输出,1:按照默认方式取反输出。设置参数与
查询参数格式一致。
例:主机发送:AT+BSTA?{CR}{LF} 芯片返回:1,0{CR}{LF}OK{CR}{LF}
设置指令:AT+BSTA=,{CR}{LF}
说明:设置 BLESTA 引脚功能,参数定义参考查询指令。
例:主机发送:AT+BSTA=1,0{CR}{LF} 芯片返回:OK{CR}{LF}
50.流控功能设置 AT+AFEC
查询指令:AT+AFEC?{CR}{LF}
说明:芯片返回当前流控设置以及 DTR、RTS 引脚输出状态,有三个参数域,中间使用逗号隔开,
参数格式定义:,,{CR}{LF}。其中流控使能
CH9141 中文手册
18
http://wch.cn
参数取值定义:0:关闭串口流控,1:开启串口流控。DTR 引脚输出电平参数取值定义:0:引脚输
出高电平,1:引脚输出低电平。RTS 引脚输出电平参数取值定义:0:引脚输出高电平,1:引脚输
出低电平。设置参数与查询参数格式一致。流控设置仅对 RTS 起作用,CTS 功能不受影响,设置后芯
片不会保存,掉电恢复默认开启流控状态。DTR 和 RTS 设置复用成其他引脚功能时,设置不会对其电
平有影响,获取参数还是可以获取到当前的输出状态。
例:主机发送:AT+AFEC?{CR}{LF} 芯片返回:1,1,1{CR}{LF}OK{CR}{LF}
设置指令:AT+AFEC=,,{CR}{LF}
说明:设置流控以及相关引脚功能,参数定义参考查询指令。
例:主机发送:AT+AFEC=1,1,1{CR}{LF} 芯片返回:OK{CR}{LF}
51.设置 GPIO 功能启用 AT+IOEN
获取指令:AT+IOEN?{CR}{LF}
说明:命令获取配置里的 GPIO 使能字节,该值的 HEX 格式的每一位代表相对应的 GPIO 开启或关
闭状态,获取的是一个 HEX 转换的 ASCII,比如:0xFF,表示二进制的 11111111,bit7-bit0 分别对
应的是 GPIO7-GPIO0,其中 GPIO3-GPIO0 为同步传输不被该参数影响,为 0 该 GPIO 功能关闭,为 1
该 GPIO 功能开启。
返回:执行的状态。
例:主机发送:AT+IOEN?{CR}{LF} 芯片应答:FF{CR}{LF}OK{CR}{LF}
设置指令:AT+IOEN={CR}{LF}
说明:设置的参数格式与获取的参数格式一致,每一个位表示对应的 IO 使能状态,设置完成主
机将保存参数。
返回:执行状态
例:主机发送:AT+IOEN=0F{CR}{LF},关闭 GPIO7-GPIO4 功能 芯片应答:OK{CR}{LF}
7、操作说明
7.1 广播模式
Step1.进入 AT 模式设置基本参数,波特率、工作模式等,重启芯片,串口会按照设置过的参数
工作;
Step2.进入 AT 模式;
Step3.发送设置广播命令参数,建议发送间隔大于等于 100mS,数据包大小必须不超过广播包大
小,包的数据格式参考蓝牙协议;
Step4.使用软件监控广播数据测试。
7.2 主机模式
Step1.进入 AT 模式设置基本参数,波特率、工作模式等,重启芯片,串口会按照设置过的参数
工作,可以设置默认连接地址使芯片自动连接该地址,或者使用扫描连接的方式;
Step2.进入 AT 模式,使用设置默认连接地址方式则等待连接成功后才能发送数据,可以通过查
询蓝牙连接状态获取连接状态,连接成功后才可以发送数据,不然数据会被暂存或者丢弃。
使 用 扫 描 连 接 的 方 式 则 发 送 扫 描 命 令 , 扫 描 的 时 候 输 出 的 数 据 格 式 举 例 说 明 :“ 1.
MAC:4c:df:39:4c:99:b4 RSSI -37dB{CR}{LF}”,格式为“”
,每搜索到一个设备则占用一行输出信息,扫描结束后会输出结束的字符串“SCAN END{CR}{LF}”。
芯片如果开启了从机电源电压显示的控制,会在输出的数据里显示出从机的电源电压,格式为:”,举例说明:“1.
MAC:4c:df:39:4c:99:b4 RSSI -37dB BAT 3298mV{CR}{LF}”
。此时可以使用序号连接命令选择其中一
个设备进行连接,连接成功并进行连接的初始化完成后芯片会输出“LINK OK{CR}{LF}”字符串,说
明该芯片已经连接成功可以退出 AT 模式进行数据透传。当连接中的配对出错时,主机是不会对从机
CH9141 中文手册
http://wch.cn
19
重新发起连接,串口会输出“PAIR ERR{CR}{LF}”字符串此时需要检查密码参数是否正确。
需要注意的是如果使用查询蓝牙连接状态查询到连接成功,不是代表可以立即发送数据,连接
完成后蓝牙需要进行连接的初始化,此时如果透传数据,则会保存等待连接初始化完成后进行传输或
者该数据会被丢弃,扫描连接或者直接输入连接地址连接的方式则在配置连接信息后等待连接成功字
符串输出;扫描连接的方式必须等到扫描结束后启动序号连接。
Step3.芯片通知连接成功后可以退出 AT 模式;
Step4.与从机进行串口透传,在透传期间进入 AT 配置时会导致蓝牙接收的数据直接丢弃。
7.3 从机模式
Step1.设置基本参数,波特率、工作模式等,芯片重启,串口会按照设置过的参数工作,可以设
置设备模式的相关设置信息参数。
Step2.可以进入 AT 模式进行连接状态的查询,也可以直接进行透传,未连接时,透传的数据会
被直接丢弃;
Step3.使用软件或者主机连接芯片进行数据透传,在透传期间 AT 配置时会导致蓝牙接收的数据
直接丢弃。
8、蓝牙接口配置
8.1 蓝牙接口配置说明
CH9141 工作在蓝牙从机模式下,可以通过蓝牙对芯片进行配置操作。配置通道是自定义传输通
道,UUID 为 0XFFF3。传输格式严格按照帧传输,在传输时将一帧拆分成几包蓝牙传输的数据传输。
蓝牙读取应答也是需要将一帧数据读完才能结束。配置功能支持通知服务,当蓝牙主机打开通知服务
后,芯片会上报串口发送状态和 MODEM 信号状态。
8.2 格式说明
传输数据帧格式如表格所示:
字段定义
命令码
数据长度
状态参数码
数据段
校验
字段长度
1
2
1
N
1
命令码:1 个字节,表示该帧的操作,其中主机发送的命令码范围是 0x00-0x7F,从机应答命令
码:主机命令码最高位置 1(主机命令码|0x80)
;
数据长度:2 个字节,大小为 N+2,即状态参数码、数据段、校验的总长度;
状态参数码:1 个字节,在传输不同的命令码时充当状态或者参数的信息段;
数据段:N 个字节,长度是传输数据大小,数据中的数值设置统一采用小端格式;
检验:1 个字节,值为状态参数码和数据段的累加和。
主机发送一帧配置帧后,必须获取从机的应答帧,除了没有应答的帧如复位帧。
8.3 配置参数
8.3.1 参数说明
配置参数包括两个:蓝牙配置信息和从机模式的设备信息。蓝牙配置信息主要配置蓝牙工作模式、
串口参数、版本信息等等,从机模式的设备信息主要配置在从机模式下的设备信息属性包括:System
ID、Model Number String、Serial Number String、Firmware Revision String、Hardware Revision
String、Software Revision String、Manufacturer Name String、PnP ID。
8.3.2 蓝牙配置信息
偏移位置
大小
名称
功能
备注
CH9141 中文手册
http://wch.cn
20
0
1
参数标志
辨识参数有效性
不要修改该值
1
20
设备名称
主机识别到的设备名
在广播包应答包中
21
6
设备 MAC 地址
当前芯片的 MAC 地址
建议不要修改
27
6
连接 MAC 地址
记录连接后对方 MAC
只读
33
2
版本号
当前芯片的版本
只读
35
30
开机语
65
4
串口波特率
通讯串口的波特率
69
1
串口数据位
通讯串口的数据位
70
1
串口校验位
通讯串口的校验位
71
1
串口停止位
通讯串口的停止位
72
2
串口打包超时
通讯串口的超时时间
74
4
低功耗睡眠时间
配置自定义睡眠时间
78
1
低功耗模式
设定低功耗模式
79
1
芯片工作模式
设置芯片蓝牙工作模式
80
1
芯片发送功率
设置蓝牙发送功率
81
1
广播使能
保留参数
广播模式参数
82
1
广播模式
保留参数
广播模式参数
83
2
广播时间
保留参数
广播模式参数
85
2
最小连接间隔
设置默认最小连接参数
从机模式参数
87
2
最大连接间隔
设置默认最大连接参数
从机模式参数
89
2
超时时间
设置蓝牙连接超时参数
从机模式参数
91
20
设备名称
在 Generic Access 的
DeviceName 中显示
从机模式参数
111
1
密码使能
从机模式参数
112
1
密码长度
从机模式参数
113
6
密码
从机模式参数
119
4
默认连接的 MAC 标志
默认保存 4 组默认连接
参数
主机模式参数
123
24
默认连接的 MAC
4*6:4 组默认连接 MAC
参数
主机模式参数
147
24
默认连接的 MAC 的密码
4*6:4 组默认连接 MAC 的
密码参数
主机模式参数
171
1
GPIO 模式设置
设置 GPIO 输入输出
1:输出 0:输入
每个 bit 对应一个 IO
bit7-0 对应 GPIO7-0
172
1
GPIO 电平值设置
设置 GPIO 输出电平
1:输出高 0 输出低
每个 bit 对应一个 IO
bit7-0 对应 GPIO7-0
保留参数
8.3.3 从机设备信息
偏移位置
大小
名称
0
1
参数标志
1
8
System ID
9
20
Model Number String
29
20
Serial Number String
49
20
Firmware Revision String
保留参数
功能
备注
辨识参数有效性
不要修改该值
系统 ID
设备号
字符串格式
系列号
字符串格式
固件版本号
字符串格式
CH9141 中文手册
http://wch.cn
21
69
20
Hardware Revision String
硬件版本号
字符串格式
89
20
Software Revision String
软件版本号
字符串格式
109
20
Manufacturer Name String
厂商名称
字符串格式
129
7
PnP ID
PnP ID
8.3.4 蓝牙控制参数
该参数为版本 v1.04 后支持。参数包含了一个“块”大小 512 字节,参数目前使用的范围参考下
面表格,其他未使用部分保留给将来使用。
偏移位置
大小
名称
功能
备注
0
1
IMAGE 信息
当前的 image 信息
不要修改该值
1
3
保留参数
不要修改该值
4
1
参数标志
辨识参数有效性
不要修改该值
5
2
版本信息
当前芯片的版本
不要修改该值
设置参数为 0x00 和
开启和关闭蓝牙配置接 0x01,对应关闭和开
7
1
蓝牙配置接口使能
口
启,关闭后蓝牙将不
能访问芯片配置
设置值为 0x07、
0x01、0x02 和 0x04,
分别对应三个通道广
8
1
广播通道配置
配置广播通道参数
播,仅在 37 通道关广
播、仅在 38 通道广播
和仅在 39 通道广播
bit7:参数有效性
不要修改该值
控制配置,按位定义开
9
1
bit6:扫描时显示从机
0:关闭
关
电源电压
1:开启
10
2
保留控制配置
不要修改该值
0:关闭校准
12
1
内部 LSI 校准方式
1:采用定时方式
v1.06 版本增加
2:采用温度差方式
0:关闭校准
13
1
蓝牙 RF 校准方式
1:采用定时方式
2:采用温度差方式
内部 LSI 校准的温度变
14
1
温度差值
化阈值
蓝牙 RF 校准的温度变化
15
1
温度差值
阈值
16
4
内部 LSI 校准定时时间
mS 单位的定时时间
20
4
蓝牙 RF 校准定时时间
mS 单位的定时时间
21
1
GPIO 功能使能
按位定义 GPIO 使能
v1.07 版本增加
bit4:极性控制
22
1
TNOW 引脚使能
bit0:使能
bit4:极性控制
23
1
BLESTA 引脚使能
bit0:使能
24
1
保留参数
CH9141 中文手册
25-511
http://wch.cn
22
保留参数
不要修改该值
8.4 配置命令说明
8.4.1 获取配置
主机发送获取配置帧,帧格式如下:
命令码
数据长度
状态参数码
数据段
检验
0x01
0x00 0x02
0x01
空
0x01
0x01
0x00 0x02
0x02
空
0x02
0x01
0x00 0x02
0x03
空
0x02
芯片应答:
命令码
数据长度
状态参数码
数据段
检验
0x81
配置信息长度+2
0x01
配置信息
check
0x81
设备信息长度+2
0x02
设备信息
check
0x81
蓝牙控制参数长
0x03
蓝牙控制参 check
度+2
数
8.4.2 配置参数
主机发送配置参数帧,帧格式如下:
命令码
数据长度
状态参数码
数据段
检验
0x02
配置信息长度+2
0x01
配置信息
check
0x02
设备信息长度+2
0x02
设备信息
check
0x02
蓝牙控制参数长
0x03
蓝牙控制参 check
度+2
数
芯片应答:
命令码
数据长度
状态参数码
数据段
检验
0x82
0x00 0x02
0x01
空
0x01
0x82
0x00 0x02
0x02
空
0x02
0x82
0x00 0x02
0x03
空
0x03
8.4.3 重置参数
主机发送重置参数帧,帧格式如下:
命令码
数据长度
状态参数码
0x03
0x00 0x02
0x01
0x03
0x00 0x02
0x02
0x03
0x00 0x02
0x03
芯片应答:
命令码
数据长度
状态参数码
0x83
0x00 0x02
0x01
0x83
0x00 0x02
0x02
0x83
0x00 0x02
0x03
8.4.4 复位芯片
主机发送重置参数帧,帧格式如下:
命令码
数据长度
状态参数码
功能
获取蓝牙配置信息
获取从机模式的设备信息
获取蓝牙控制参数
功能
返回蓝牙配置信息
返回从机模式的设备信息
返回蓝牙控制参数
功能
配置蓝牙配置参数
配置从机模式的设备信息
配置蓝牙控制参数
功能
配置参数应答
配置设备信息应答
配置蓝牙控制参数应答
数据段
检验
功能
空
0x01
重置蓝牙配置参数
空
0x02
重置从机模式的设备信息
空
0x02
重置蓝牙控制参数
数据段
检验
功能
空
0x01
重置参数应答
空
0x02
重置设备信息应答
空
0x03
重置蓝牙控制参数应答
数据段
检验
功能
CH9141 中文手册
0x04
http://wch.cn
23
0x00 0x02
0x00
空
0x00
重置蓝牙配置信息
芯片在接复位帧会直接复位,不应答该帧。
8.4.5 GPIO 相关命令
主机发送 GPIO 配置参数帧,帧格式如下:
命令码
数据长度
状态参数码
数据段
0x05
0x00 0x04
0x01
NUM+DIR
检验
功能
check
设置 NUM 号的的方向
NUM 号:0x04 - 0x07
DIR:0x00 输入,0x01 输出
0x05
0x00 0x03
0x02
NUM
check
读取 NUM 号 GPIO 的电平状态
0x05
0x00 0x04
0x03
NUM+VAL
check
设置 NUM 号 GPIO 的电平值
VAL:0x00 低电平,0x01 高电平
0x05
0x00 0x04
0x04
GPIO1+GPIO3
check
同步参数,一般用于两个芯片连
接,其他主机不需要操作
0x05
0x00 0x02
0x05
空
0x05
读取 ADC 的值
芯片应答:
命令码
数据长度
状态参数码
数据段
检验
功能
0x85
0x00 0x03
0x01
STA
check
返回设置 GPIO 的状态,
0 表示成功,其他表示失败
0x85
0x00 0x04
0x02
NUM+VAL
check
返回读取的 GPIO 的电平状态
0x85
0x00 0x03
0x03
STA
check
返回设置电平值的状态
0 表示成功,其他表示失败
0x85
0x00 0x04
0x04
GPIO1+GPIO3
check
同步参数,一般用于两个芯片连
接,其他主机不需要操作
0x85
0x00 0x04
0x05
ADC_VAL
check
返回 ADC 的读取的值,2 字节
8.4.6 串口参数设置
主机发送串口配置参数帧,帧格式如下:
命令码
数据长度
状态参数码
数据段
检验
0x06
0x00 0x09
0x00
串口参数
check
串口参数格式定义:
偏移位置
大小
名称
功能
0
4
波特率
4
1
数据位
串口数据长度
5
1
停止位
停止位格式设置
6
1
校验位
功能
配置串口参数
备注
小端格式
参数取值:5-8
参数取值:1-2
奇偶校验位格式选择
0:无校验
1:奇校验
2:偶校验
3:标志位
4:空白位
芯片应答:
命令码
数据长度
状态参数码
数据段
检验
功能
0x86
0x00 0x09
0x00
串口参数
check
应答参数内容与设置一致
CH9141 中文手册
http://wch.cn
24
8.4.7 流控功能设置
主机发送流控功能设置帧,帧格式如下:
命令码
数据长度
状态参数码
数据段
0x07
0x00 0x05
0x00
流控功能参数
流控功能参数格式定义:
偏移位置
大小
名称
检验
功能
check
配置流控功能
功能
备注
0:关闭流控功能
1:开启流控功能
0
1
流控功能使能
1
1
DTR 引脚设置
DTR 输出电平设置
0:DTR 引脚输出高
1:DTR 引脚输出低
2
1
RTS 引脚设置
RTS 输出电平设置
0:RTS 引脚输出高
1:RTS 引脚输出低
芯片应答:
命令码
数据长度
状态参数码
数据段
检验
功能
0x87
0x00 0x05
0x00
流控功能参数
check
应答参数内容与设置一致
8.4.8 串口状态以及 MODEM 状态上报
芯片应答:
命令码
数据长度
状态参数码
数据段
检验
0x88
0x00 0x04
0x00
串口状态参数
check
串口状态参数格式定义:
偏移位置
大小
名称
功能
0
1
1
1
功能
串口和 MODEM 状态上报
备注
串口状态
bit1:MODEM 变化
bit0:串口发送空
MODEM 状态
bit7:DCD 引脚的位反,为 1 有效
bit6:RI 引脚的位反,为 1 有效
bit5:DSR 引脚的位反,为 1 有效
bit4:CTS 引脚的位反,为 1 有效
bit3:为 1 表示 DCD 引脚有变化
bit2:为 1 表示 RI 引脚有变化
bit1:为 1 表示 DSR 引脚有变化
bit0:为 1 表示 CTS 引脚有变化
对应位值定义:
置 1:状态有效
置 0:状态无效
配置通道通知属性被打开后,CH9141 检测串口状态变化后通过蓝牙发送该帧给主机。
9、参数
9.1 绝对最大值
临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏
名称
参数说明
最小值
最大值
单位
TA
工作时的环境温度
-40
85
℃
TS
存储时的环境温度
-40
105
℃
VCC
系统电源电压
-0.4
3.9
V
VIO
输入或者输出引脚上的电压
-0.4
VCC+0.4
V
CH9141 中文手册
http://wch.cn
25
9.2 电气参数
名称
参数说明
最小值
典型值
最大值
单位
VCC
电源电压
2.5
3.3
3.6
V
VIL
低电平输入电压
0
0.9
V
VIH
高电平输入电压
2.0
VCC
V
VOL
低电平输出电压
0
0.3
0.4
V
VOH
高电平输出电压
VCC-0.4
VCC-0.3
VCC
V
IUP
内置上拉电阻的输入端的输入电流
25
60
90
uA