1. 串口通讯协议

    AT串口指令作为一种在控制领域常用的通信,我们进行了优化和定制,这样大大简化了用户使用的难度,请严格按照我们给出的指令格式进行操作

3.1 通讯格式

支持异步串口通讯模式,通过串口接受上位机发送的命令
    通讯标准:115200 bps  --- 用户可以通过串口指令设置详见3.2
    数据位  :8

停止位  :1
    校验位  :none
    流控制  :none

注意:所有的指令的设计,都是有规律的,不是随意划分的,可以对照下面找一下规律

控制指令格式:AT+<CMD>[<param>]\r\n     ---- 所有的都是字符,不是十六进制数

    数据反馈格式:<IND>[<param>]\r\n

数据反馈格式:<IND>[<param>]\r\n

数据特性

详细说明

AT+

控制指令是控制主机给BT201的控制命令,以“AT+ ”开始

<CMD>

后面紧跟<CMD>控制 ,通常是2个字符

指令

[<param>]

如果CMD后面有参数,则紧跟着[<param>]

\r\n

最后以”\r\n”结束,字符型为换行,windows就是回车键。十六进制为0x0D,0x0A

<IND>

1、数据反馈是蓝牙把各种状态和数据信息反馈给主机,以<IND>作为开头

 

 

 

 

 

,<IND>是反馈指

 

 

数,则紧跟<IND>之后继续传输<param>参数。

2、后面紧跟着的是芯片回传的参数

 

 

这里<CMD>重点说明:

由于芯片内部是跑的系统,主体的程序划分如下:

功能划分

命令

备注

公共指令特性

AT+C?

公共指令是以AT+C开头,后面的“?”就是具体细化的功能命令

音乐指令特性

AT+A?

音乐指令是以AT+A开头,后面的“?”就是具体细化的功能命令

蓝牙指令特性

AT+B?

蓝牙指令是以AT+B开头,后面的“?”就是具体细化的功能命令

 

这里<CMD>重点说明:

由于芯片内部是跑的系统,主体的程序划分如下:

举例

命令

备注

控制指令1

AT+CZ\r\n

代表系统复位

查询返回的结果1

QA+01

详见4.4.1  返回的查询信息永远是Qn+xx 其中n和前面是相对应

 

 

 

 

查询返回的结果2

QG+01

详见4.2.12

 

3.2 通讯指令举例

公共部分--控制指令 -- 说明

CMD

对应的功能

详细说明

AT+CT

设置波特率

后面有参数,详见3.3    举例:AT+CT01/r/n

AT+CZ

芯片复位

芯片软复位,详见3.3    举例:AT+CZ/r/n

AT+CW

芯片恢复出厂设置

恢复出厂设置,清除所有之前记忆的参数 ,详见3.3  举例:AT+CW/r/n

AT+CL

芯片低功耗设置

详见3.7章节

AT+BM

设置BLE蓝牙名称

详见3.4章节

AT+BN

设置BLE的MAC地址

详见3.4章节

AT+BD

设置SPP蓝牙名称

详见3.4章节

AT+BS

设置BLE连接密码

详见3.4章节 ,此功能没有实现,主要在于手机的兼容性不行

 

 

 

AT+QT

查询系统的波特率

详见3.3章节.返回的数据为

AT+QL

查询系统的低功耗状态

详见3.7章节.返回的数据为QL+00

AT+TM

查询BLE蓝牙名称

详见3.5章节

AT+TN

查询BLE蓝牙地址

详见3.5章节

AT+TD

查询SPP蓝牙名称

详见3.5章节

AT+TS

查询BLE蓝牙连接密码

保留

 

 

测试推荐的指令

AT+BM1234\r\n -- 设置BLE的名称

AT+BN112233445566\r\n  --ble的地址

AT+BD223344\r\n -- 设置SPP的名称

AT+CT01\r\n

AT+CZ\r\n

AT+CW\r\n

AT+QT\r\n

AT+TM\r\n

AT+TN\r\n

AT+TD\r\n

 

 

 

3.3 指定芯片的波特率和复位和恢复出厂设置【CT】[CZ][CW]

AT+CT01\r\n

波特率9600

AT+CT04\r\n

波特率57600

AT+CT02\r\n

波特率19200

AT+CT05\r\n

波特率115200

AT+CT03\r\n

波特率38400

AT+CT06\r\n

波特率256000

 

1、一旦设置了波特率之后,芯片会记忆。下一次开机,波特率就变成了您所设置的.当然可以查询

2、设置完波特率之后,请等待1秒钟,再发送复位[AT+CZ],或者断电一下即可

3、如果要恢复默认的波特率,请发送恢复出厂设置的命令,此时芯片会自动擦除所有的配置

4、由于我们芯片的主频很高,所以尽量把串口的波特率调高,越高越好

 

3.4 设置BLE蓝牙的名称和地址[BM][BN][BD]

AT+BMBLE-1234\r\n

设置蓝牙名称为“BLE-1234”

AT+BN112233445566\r\n

设置BLE的地址。手机端显示的地址是:66 55 44 33 22 11  

AT+BDSPP-1234\r\n

设置蓝牙名称为“SPP-1234”

 

 

 

1、设置蓝牙名称之后,需要让芯片复位,发指令或者断电上电都可以,这样会显示新的蓝牙名称。我们默认的蓝牙名为“KT6368A-BLE”。设置的蓝牙名最长为“30”个字节,请不要超过这个范围

2、如果AT指令修改蓝牙名称之后,注意,你的手机端可能没有同步更新,还是显示之前的名称

  1. 、因为你只修改了蓝牙的名称,蓝牙的MAC地址是没有变化的,所以手机端那边是不会更新名字
  2. 、你要做的就是,换一台手机搜索试试,或者之前的手机删掉配对信息,重新在搜索

(3)、只要设置了蓝牙名,蓝牙名一定是更新过来了的,不用怀疑。芯片上电也会返回蓝牙名给您查看

 

3.5 查询BLE蓝牙的名称和地址[TM][TN][TD]

AT+TM\r\n

返回TM+1234\r\n   代表蓝牙名为1234

AT+TN\r\n

返回TN+12345678AABB\r\n   BLE的蓝牙地址:0xBB、0xAA、0x78、0x56、0x34、0x12

AT+TD\r\n

返回TD+SPP1234\r\n   代表蓝牙名为SPP1234

 

  1. 这里重点描述一下蓝牙的MAC地址:BLE和SPP 的MAC地址是共生的,所以设置一个就行了
  2. 、芯片在第一次通电的时候,会自动生成蓝牙的MAC地址,并且是随机生存的。
  3. 、这样做的好处是免除了 单独设置地址的问题
  4. 、同样经过优秀的算法,出现重复的概率是百万分之一。蓝牙的mac地址是标准的,6个字节

    2、SPP的地址,是在BLE地址的最高字节加1处理的 。所以只用设置BLE的地址即可。SPP的地址也就没做查询指令,可以自己计算一下