模板: Dual-mode-Bluetooth-User-Manual
产品特点
- 双模蓝牙,彻底解决了iOS和Android设备对蓝牙的兼容问题
- 配对后即可作为全双工串口使用,无需了解任何蓝牙协议
- 丰富的AT指令,可以进行全方位配置
- XBee接口,方便接入带XBee接口的设备
- 提供iOS和Android示例源码,实现遥控小车、数据采集和监控设备等应用
开箱检测
请详细阅读完“开箱检测”后,在进行通电测试,以免损坏模块。
Dual-mode Bluetooth是一个简单易用的蓝牙串口透传模块,使用时客户不需要了解烦杂的蓝牙协议,只需要当成一个全双工的串口使用即可。
由于该Dual-mode Bluetooth是TTL电平,在与PC机通信时需要使用RS232转UART模块或USB转UART模块。这里推荐用XBee USB Adapter搭配连接PC机进行测试。
XBee USB Adapter是一个USB转UART模块,同时带有XBee接口、按键和LED,并将所有的引脚以标准的2.54mm间距引出,搭配Dual-mode Bluetooth使用时,只需将Dual-mode Bluetooth接入到XBee(注意不要接反),在通过micro USB线将Xbee USB Adapter与PC机的USB接口相连即可。
硬件连接如下图所示:
当然,你也可以使用普通的USB转UART模块进行测试,如FT232 USB UART Board (micro),由于Dual-mode Bluetooth的引脚间距是2.0mm,所有还需要在配合2.0转2.54的杜邦线进行测试。
硬件连接如下图所示:
连接完成,检查无误,即可接入PC机。如果原来你未安装过相应的驱动,则还需要安装相应的USB转UART驱动。选择以下适合的驱动安装即可(如果你使用的是其它USB转UART模块,这一步则改为安装对应的USB转串口驱动):
打开设备管理器,查看对应的COM。
手机扫描下面二维码下载相应的APP。其中iOS使用蓝牙BLE与模块进行通信,需要使用iphone4S及以上版本。Android使用蓝牙EDR与模块进行通信。
启动APP,点击“扫描”(注意:手机需要打开蓝牙功能),大约几秒后,正常在列表中将显示相应的蓝牙设备。如果使用iOS,选择“Waveshare_BLE”设备,如果使用Android,选择“Waveshare_ERD”设备。
注意:有些Android手机需要打开APP相应的蓝牙和位置信息权限才可以正常使用。
进到下一个页面后选择“串口调试模式”。
注意:Android手机如果支持蓝牙BLE,将扫描两个设备,注意需要选择MAC地址为00:0E:0E的设备
此时,只要通过PC机的串口调试助手发送数据给Dual-mode Bluetooth,手机就能收到相应的数据。同时串口助手也将显示手机发送的数据。
注意:Dual-mode Bluetooth出厂配置为波特率115200,校验位:N,数据位8位,停止位1位。虽然Dual-mode Bluetooth可以通过AT指令设置波特率等参数(见下方),但作为从机与手机通信时,不推荐修改,否则将可能导致APP无法与Dual-mode Bluetooth通信。
如下图:
Dual-mode Bluetooth相关功能
常用系统AT指令
打开串口调试助手,默认如下图配置(如果修改过模块串口配置的,则按自定义的进行配置),发送大写AT(AT字符后没有\r\n等任何符号,有的串口助手有“发送新行”的复选款,请勿√选 ),若返回OK,说明硬件连接正常,模块工作正常。
在正常模式下,未建立连接或断开链接时能正常通过AT指令配置Dual-mode Bluetooth(如果处于连接状态,需要断开蓝牙链接才可正常使用AT指令)。
- 测试或断开连接指令
指令 | 应答 | 参数 |
---|---|---|
AT | OK\ER\断开连接 | 无 |
模块处于正常待机状态时,会返回:"OK"。
模块处于错误状态时,会返回:"ER",说明蓝牙芯片工作不正常,可能需要重启或重置一些参数。
在模块建立蓝牙连接时,通过模块串口发送:"AT",可断开蓝牙连接。
- 复位指令
指令 | 应答 | 参数 |
---|---|---|
AT+RESET | OK+RESET | 无 |
该指令执行后,模块将延时500ms后重启,整个重启过程大约需要3秒。
- 查询模块EDR模式MAC地址
指令 | 应答 | 参数 |
---|---|---|
AT+ADDE? | OK+Get:MAC地址 | 无 |
- 查询模块BLE模式MAC地址
指令 | 应答 | 参数 |
---|---|---|
AT+ADDB? | OK+Get:MAC地址 | 无 |
- 查询EDR成功连接过的远程主机地址
指令 | 应答 | 参数 |
---|---|---|
AT+RADE? | OK+Get:MAC 地址 | 无 |
- 查询BLE成功连接过的远程主机地址
指令 | 应答 | 参数 |
---|---|---|
AT+RADB? | OK+Get:MAC 地址 | 无 |
- 清除最后成功连接的地址信息
指令 | 应答 | 备注 |
---|---|---|
AT+CLEAE | OK+CLEAE | 清除EDR连接信息 |
AT+CLEAB | OK+CLEAB | 清除BLE连接信息 |
- 查询\设置模块初始化通知
指令 | 应答 | 参数 |
---|---|---|
查询:AT+INIT? | OK+Get:[P1] | P1:0或1(默认:0)
|
设置:AT+INIT[P1] | OK+Set:[P1] |
如果打开初始化通知,则模块初始化完成后会通过串口输出“OK+INIT”。
注:该指令执行后,必须重新上电,新设置才能生效。
- 查询\设置模块EDR工作模式
指令 | 应答 | 参数 |
---|---|---|
查询:AT+IMME? | OK+Get:[P1] | P1:0或1(默认:0)
|
设置:AT+IMME[P1] | OK+Set:[P1] |
注:该指令执行后,必须重新上电,新设置才能生效。
- 查询\设置模块BLE工作模式
指令 | 应答 | 参数 |
---|---|---|
查询:AT+IMMB? | OK+Get:[P1] | P1:0或1(默认:0)
|
设置:AT+IMMB[P1] | OK+Set:[P1] |
注:该指令执行后,必须重新上电,新设置才能生效。
- 设置EDR模式开始工作指令
指令 | 应答 | 参数 |
---|---|---|
AT+STARE | OK+STARE | 无 |
- 设置EDR模式停止工作指令
指令 | 应答 | 参数 |
---|---|---|
AT+STOPE | OK+STOPE | 无 |
- 设置BLE模式开始工作指令
指令 | 应答 | 参数 |
---|---|---|
AT+STARB | OK+STARB | 无 |
- 设置BLE模式停止工作指令
指令 | 应答 | 参数 |
---|---|---|
AT+STOPB | OK+STOPB | 无 |
若设置了AT+IMME1,则模块需要接收到AT+STARE,EDR模式才能正常工作。如果接收到AT+STOPE,则EDR模式会停止工作。
若设置了AT+IMMB1,则模块需要接收到AT+STARB,BLE模式才能正常工作。如果接收到AT+STOPB,则BLE模式会停止工作。
设置广播名称
- 查询\设置EDR设备名称
指令 | 应答 | 参数 |
---|---|---|
查询:AT+NAME? | OK+Get:[P1] | P1:设备名称
|
设置:AT+NAME[P1] | OK+Set:[P1] |
- 查询\设置BLE设备名称
指令 | 应答 | 参数 |
---|---|---|
查询:AT+NAMB? | OK+Get:[P1] | P1:设备名称
|
设置:AT+NAMB[P1] | OK+Set:[P1] |
例:
所发送指令 | 应答 | 备注 |
---|---|---|
AT | OK | 测试命令,判断当前是否可以使用AT指令进行设置 |
AT+NAMB? | OK+Get:当前BLE设备名称 | 查询BLE设备名称 |
AT+NAMBtestBLE | OK+Set:testBLE | 设置BLE设备名称为"testBLE" |
AT+NAME? | OK+Get:当前EDR设备名称 | 查询EDR设备名称 |
AT+NAMEtestEDR | OK+Set:testEDR | 设置BLE设备名称为"testEDR" |
AT+RESET | OK+RESET | 复位模块或重新给模块上电 |
按顺序执行上表AT命令后,在模块重启后,通过手机APP重新扫描,正常可以看到设备名称已经修改。
配置iBeacon
iBeacon默认UUID为:74288BDA-B644-4520-8F0C-720EAF059935,且主模式下不发送iBeacon广播包
- 查询\设置iBeacon开关
指令 | 应答 | 参数 |
---|---|---|
查询:AT+IBEA? | OK+Get:[P1] | P1:0或1(默认:0)
|
设置:AT+IBEA[P1] | OK+Set:[P1] |
该指令执行后,必须重新上电,新设置才能生效
- 查询\设置iBeacon UUID值
指令 | 应答 | 参数 |
---|---|---|
查询:AT+IBE0? | OK+Get:[P1] | P1:00000001~FFFFFFFE
|
设置:AT+IBE0[P1] | OK+Set:[P1] |
iBeacon UUID:74288BDA-B644-4520-8F0C-720EAF059935
该指令用于修改UUID中红字部分
- 查询\设置iBeacon UUID值
指令 | 应答 | 参数 |
---|---|---|
查询:AT+IBE1? | OK+Get:[P1] | P1:00000001~FFFFFFFE
|
设置:AT+IBE1[P1] | OK+Set:[P1] |
iBeacon UUID:74288BDA-B644-4520-8F0C-720EAF059935
该指令用于修改UUID中绿字部分
- 查询\设置iBeacon UUID值
指令 | 应答 | 参数 |
---|---|---|
查询:AT+IBE2? | OK+Get:[P1] | P1:00000001~FFFFFFFE
|
设置:AT+IBE2[P1] | OK+Set:[P1] |
iBeacon UUID:74288BDA-B644-4520-8F0C-720EAF059935
该指令用于修改UUID中蓝字部分
- 查询\设置iBeacon UUID值
指令 | 应答 | 参数 |
---|---|---|
查询:AT+IBE3? | OK+Get:[P1] | P1:00000001~FFFFFFFE
|
设置:AT+IBE3[P1] | OK+Set:[P1] |
iBeacon UUID:74288BDA-B644-4520-8F0C-720EAF059935
该指令用于修改UUID中紫字部分
- 查询\设置iBeacon Major值
指令 | 应答 | 参数 |
---|---|---|
查询:AT+MAJO? | OK+Get:[P1] | P1:0001~FFFE
|
设置:AT+MAJO[P1] | OK+Set:[P1] |
- 查询\设置iBeacon Minor值
指令 | 应答 | 参数 |
---|---|---|
查询:AT+MINO? | OK+Get:[P1] | P1:0001~FFFE
|
设置:AT+MINO[P1] | OK+Set:[P1] |
例:
1.在进行iBeacon配置时,需要先准备手机端的测试软件,以下以iOS系统系统测试为例,Android类似
在App Store里中搜索Locate,并安装。如下图:
2.打开Locate并配置访问权限(注:没有配置访问权限将无法使用)
3.配置好手机端后,则可以开始配置设备端,通过串口发送以下指令:
所发送指令 | 应答 | 备注 |
---|---|---|
AT | OK | 测试命令,判断当前是否可以使用AT指令进行设置 |
AT+IBEA1 | OK+Set:1 | 打开iBeacon |
AT+MAJO1234 | OK+Set:1234 | 配置iBeacon Major |
AT+MINO4567 | OK+Set:4567 | 配置iBeacon MINO |
AT+RESET | OK+RESET | 复位模块或重新给模块上电 |
复位后正常可以搜索到如下图:
注:16进制的1234和4567分别等于10进制的4660和17767。
其中74288BDA-B644-4520-8F0C-720EAF059935为默认UUID,如果需要修改,可以通过以下命令:
1.修改红色部分:AT+IBE001234567
2.修改绿色部分:AT+IBE18901ABCD
3.修改蓝色部分:AT+IBE2EFEF0123
4.修改紫色部分:AT+IBE3456789AB
5.重新上电或执行"AT+RESET"指令
此时将按新的UUID进行广播,注意在Locate里需要设置自定义的UUID,才能在Locate中查看,设置如下图:
显示结果如下:
设置三通模式
三通模式需要AT+ATOB与AT+DUAL配合使用,在模块两个模式(EDR,BLE)都建立蓝牙连接的情况下,打开三通模式,则A设备发送给模块的数据会被同时转发到B设备,B设备发送给模块的数据会被同时转发给A设备。
- 查询\设置模块三通模式
指令 | 应答 | 参数 |
---|---|---|
查询:AT+ATOB? | OK+ Get:[P1] | P1:0或1(默认:0)
|
设置:AT+ATOB[P1] | OK+ Set:[P1] |
- 设置模块连接模式
指令 | 应答 | 参数 |
---|---|---|
查询:AT+DUAL? | OK+Get:[P1] | P1:0或1(默认:1)
|
设置:AT+DUAL[P1] | OK+Set:[P1] |
例:
所发送指令 | 应答 | 备注 |
---|---|---|
AT | OK | 测试命令,判断当前是否可以使用AT指令进行设置 |
AT+DUAL0 | OK+Set:0 | 双模待机同时收发 |
AT+ATOB1 | OK+Set:1 | 打开三通模式 |
AT+RESET | OK+RESET | 复位模块或重新给模块上电 |
IO控制
- 查询\设置LED(PIO1)输出状态
指令 | 应答 | 参数 |
---|---|---|
查询:AT+PIO1? | OK+Get:[P1] | P1:0或1(默认:0)
|
设置:AT+PIO1[P1] | OK+Set:[P1] |
- 查询\设置PIO状态
指令 | 应答 | 参数 |
---|---|---|
查询:AT+PIO[P1]? | OK+Get:[P2] | P1:2\3\4\5\8\9\A\B
P2:0,1,?
|
设置:AT+PIO[P1][P2] | OK+Set:[P2] |
例:
如果只查询一个PIO的输出状态请用"AT+PIO2?"或"AT+PIO3?"
设置PIO2输出状态:"AT+PIO2X",X值为0或1,代表低或高电平
以发送"AT+PIO21"为例,如果返回"OK+Set:1"说明PIO2电平已经输出高电平。
如果你使用XBee USB Adapter进行测试,那么有以下连接关系:
Dual-mode Bluetooth | XBee USB Adapter |
---|---|
LED(PIO1) | LED1 |
PIO5 | LED2 |
对应该的IO如下图:
设置串口相关参数
在重申一次,虽然Dual-mode Bluetooth允许用户修改串口相关参数,但并不推荐客户随意修改(默认设置是最常用的)。
- 查询\设置模块波特率
指令 | 应答 | 参数 |
---|---|---|
查询:AT+BAUD? | OK+Get:[P1] | P1:1~7(默认:6)
|
设置:AT+BAUD[P1] | OK+Set:[P1] |
例子如下,设置波特率为9600:
发送:AT+BAUD2
返回:OK+Set:2
注:该指令设置波特率的指令后,须重新上电,新设置的参数才能生效。
- 查询\设置串口校验
指令 | 应答 | 参数 |
---|---|---|
查询:AT+PARI? | OK+Get:[P1] | P1:0~2(默认:0)
|
设置:AT+PARI[P1] | OK+Set:[P1] |
注:该指令执行后,必须重新上电,新设置才能生效
- 查询\设置停止位
指令 | 应答 | 参数 |
---|---|---|
查询:AT+STOP? | OK+Get:[P1] | P1:0或1(默认:0)
|
设置:AT+STOP[P1] | OK+Set:[P1] |
注:该指令执行后,必须重新上电,新设置才能生效
- 查询\设置硬件流
指令 | 应答 | 参数 |
---|---|---|
查询:AT+FLOW? | OK+Get:[P1] | P1:0或1(默认:0)
|
设置:AT+FLOW[P1] | OK+Set:[P1] |
注:该指令执行后,必须重新上电,新设置才能生效
主从模式
主从模式是指两个Dual-mode Bluetooth之间进行全双工的通信,类似于串口延长线的功能。
测试时,需要有2个Dual-mode Bluetooth,其中一个设置为主模式,另一个保持从模式不变,关闭周围其他蓝牙设备,主模式的Dual-mode Bluetooth会自动搜索并链接到从模式的Dual-mode Bluetooth。
查询\设置EDR主从模式
指令 | 应答 | 参数 |
---|---|---|
查询:AT+ROLE? | OK+Get:[P1] | P1:0或1(默认:0)
|
设置:AT+ROLE[P1] | OK+Set:[P1] |
注:该指令执行后,必须重新上电,新设置才能生效
查询\设置BLE主从模式
指令 | 应答 | 参数 |
---|---|---|
查询:AT+ROLB? | OK+Get:[P1] | P1:0或1(默认:0)
|
设置:AT+ROLB[P1] | OK+Set:[P1] |
注:该指令执行后,必须重新上电,新设置才能生效
"AT+ROLE1"和"AT+ROLB1"不能同时使用,即同一时刻,只支持BLE做主设备或EDR做主设备。不能同时支持。一般更推荐使用"AT+ROLE1"。
其它AT指令
- 设置模块工作模式
指令 | 应答 | 参数 |
---|---|---|
查询:AT+MODE? | OK+Get:[P1] | P1:0或1(Default:0)
|
设置:AT+MODE[P1] | OK+Set:[P1] |
用于切换透传和远控模式。
远控模式指可以通过设备发送AT指令去查询\设置蓝牙模块。
例:
所发送指令 | 应答 | 备注 |
---|---|---|
AT | OK | 测试命令,判断当前是否可以使用AT指令进行设置 |
AT+MODE1 | OK+Set:1 | 设置透传+远控模式 |
之后通过手机APP发送AT指令"AT+PIO51"或"AT+PIO50"即可控制XBee USB Adapter板子上LED2的亮灭。
- 设置是否通知上位机连接状态
指令 | 应答 | 参数 |
---|---|---|
查询:AT+NOTI? | OK+Get:[P1] | P1:0或1(默认:0)
|
设置:AT+NOTI[P1] | OK+Set:[P1] |
注:设置AT+NOTI1之后,模块与设备成功连接或断开连接时,会通过串口发送状态提醒信息,格式如下:
OK+CONE-----EDR成功连接
OK+LSTE-----EDR断开连接
OK+CONB-----BLE成功连接
OK+LSTB-----BLE断开连接
OK+LSTA-----双模异常断开,模块自动重置
- 设置通知上位机连接状态的提示类型
指令 | 应答 | 参数 |
---|---|---|
查询:AT+NOTP? | OK+Get:[P1] | P1:0或1(默认:0)
|
设置:AT+NOTP[P1] | OK+Set:[P1] |
注:此功能基于"AT+NOTI1"指令,用来设置连接断开提示信息内容。
如果设置不包含地址,提示同"AT+NOTI1"指令中的提示,如果设置了包含地址,则提示信息如下:
OK+CONE:001122334455-----EDR成功连接,包含远端地址
OK+LSTE:001122334455-----EDR断开连接,包含远端地址
OK+CONB:001122334455-----BLE成功连接,包含远端地址
OK+LSTB:001122334455-----BLE断开连接,包含远端地址
- 查询\设置是否在Android下使用BLE模式
指令 | 应答 | 参数 |
---|---|---|
查询:AT+ONEM? | OK+Get:[P1] | P1:0或1(默认:0)
|
设置:AT+ONEM[P1] | OK+Set:[P1] |
注1:该指令执行后,必须重新上电,新设置才能生效
注2:执行AT+ONEM1之后,android下能搜索到BLE模式,但是将不能使用BLE模式,只能使用EDR模式。 00:0E:0B开头的BLE地址将被隐去。
- 查询\设置EDR模式待机参数
指令 | 应答 | 参数 |
---|---|---|
查询:AT+SCAN? | OK+Get:[P1] | P1:0或1(默认:0)
|
设置:AT+SCAN[P1] | OK+Set:[P1] |
注:该指令执行后,必须重新上电,新设置才能生效
- 查询\设置EDR配对密码
指令 | 应答 | 参数 |
---|---|---|
查询:AT+PINE? | OK+Get:[P1] | P1:8位以内的数字字符
|
设置:AT+PINE[P1] | OK+Set:[P1] |
例子如下:
发送:AT+PINE008888
返回:OK+Set:008888
此时配对密码改为008888,模块在出厂时的EDR默认配对密码是"1234"。
- 查询\设置BLE配对密码
指令 | 应答 | 参数 |
---|---|---|
查询:AT+PINB? | OK+Get:[P1] | P1:6位以内的数字字符
|
设置:AT+PINB[P1] | OK+Set:[P1] |
例子如下:
发送:AT+PINB008888
返回:OK+Set:008888
此时配对密码改为008888,模块在出厂时的BLE默认配对密码是"000000"。
- 重置模块
指令 | 应答 | 参数 |
---|---|---|
AT+RENEW | OK+RENEW | 无 |
执行后模块将延时500ms后重启,所有设置均会被重置,该命令慎用。
例:
所发送指令 | 应答 | 备注 |
---|---|---|
AT | OK | 测试命令,判断当前是否可以使用AT指令进行设置 |
AT+RENEW | OK+RENEW | 重置模块 |
AT+NAMBWaveshareBLE | OK+Set:testBLE | 设备BLE设备名称为"WaveshareBLE" |
AT+NAMEWaveshare_EDR | OK+Set:testEDR | 设备BLE设备名称为"WaveshareEDR" |
AT+RESET | OK+RESET | 复位模块或重新给模块上电 |
APP对接
APP通信协议
我们默认提供的演示APP一共提供了3个模式,串口调试在上面已介绍,这里主要说遥控模式和外设控制的通讯协议,用户只需按我们提供的格式发送数据,就可以与APP进行通信。
概述
我们使用的通信协议是标准的JSON格式(一种轻量级的数据交换格式),并且为了方便解析,我们使用最简单的键值对形式,如下:
{"key":"Value"}
使用最简单的键值对形式以下特点:
- 信息保存在键值对中
- 键值对分别包含在双引号中
- 键值对使用冒号分隔
- 花括号作为数据帧的开始和结束
通过这些特点,就可以很简单的进行数据的打包和解析了。详细可参考我们提供的底板程序和APP源码。
遥控模式
遥控模式如下图,分为状态显示、速度控制和方向控制
具体默认协议如下表:
描述 | 状态 | 命令 |
---|---|---|
显示Dual-mode Bluetooth相关信息 | 接收 | {"State":"MSG"} |
设置速度-低速 | 按下发送 | {"Low":"Down"} |
设置速度-中速 | 按下发送 | {"Medium":"Down"} |
设置速度-高速 | 按下发送 | {"High":"Down"} |
方向控制-上 | 按下发送 | {"Forward":"Down"} |
方向控制-上 | 弹起发送 | {"Forward":"Up"} |
方向控制-下 | 按下发送 | {"Backward":"Down"} |
方向控制-下 | 弹起发送 | {"Backward":"Up"} |
方向控制-左 | 按下发送 | {"Left":"Down"} |
方向控制-左 | 弹起发送 | {"Left":"Up"} |
方向控制-右 | 按下发送 | {"Right":"Down"} |
方向控制-右 | 弹起发送 | {"Right":"Up"} |
例:
- 如果你需要在APP上显示信息为Init Success,则可以通过Dual-mode Bluetooth发送 {"State":"Init Success"} ,APP接收到信息后,显示如下:
- 如果你需要通过APP发送命令,则按下相应的按钮后,Dual-mode Bluetooth将接收到相应的命令。也可以通过设置按钮来自定义发送的内容。
外设控制
外设控制如下图,分为RGB LED控制、蜂鸣器控制、OLED控制和各种状态的显示
具体默认协议如下表:
描述 | 状态 | 命令 |
---|---|---|
RGB LED控制 | 按下选择,弹起发送 | {"RGB":"R,G,B"} |
蜂鸣器控制 | 按下发送 | {"BZ":"on"} \ {"BZ":"off"} |
OLED控制 | 输入框输入相应数据,点击发送按钮进行显示 | {"OLED":"input string"} |
实时时钟显示 | 接收 | {"RTC":"data time"} |
加速度显示 | 接收 | {"ACC":"acc data"} |
电压显示 | 接收 | {"ADC":"adc value"} |
遥杆状态显示 | 接收 | {"JOY":"key value"} |
温度显示 | 接收 | {"TEMP":"temperature"} |
注:
蜂鸣器控制使用了单次握手方式,即点击按钮"蜂鸣器:开"时,Dual-mode Bluetooth会接收到 {"BZ":"on"}
此时Dual-mode Bluetooth应该再返回一次数据给APP以表明已接收到打开蜂鸣器的指令(发送 {"BZ":"on"} )
当APP接收到 {"BZ":"on"} ,会翻转按钮的状态(变为"蜂鸣器:关")
如果再次点击"蜂鸣器:关",Dual-mode Bluetooth会接收到 {"BZ":"off"}
此时Dual-mode Bluetooth应该再返回一次数据给APP以表明已接收到关闭蜂鸣器的指令(发送 {"BZ":"off"} )
当APP接收到 {"BZ":"off"} ,会翻转按钮的状态(变为:"蜂鸣器:开")
搭配XNUCLEO-F103RB与Accessory Shield 进行外设控制
测试步骤:
1.硬件连接如下图(如果跳线帽不够,可以把XNUCLEO-F103RB JP7的跳线拔下,接到JP4):
2.使用ST-LINK/V2 (mini)下载STM32测试程序(推荐使用keli4.72以上版本进行编译)
3.打开APP,连接Dual-mode Bluetooth,选择"外设控制"对Accessory Shield各部分功能进行测试