#申请原创#@21小跑堂
一、前言
GW3323系列双模蓝牙5.2芯片,基于32位高性能RISC-V内核,兼容BLE和经典蓝牙(SPP)双模通信协议,便于客户灵活适配不同的应用需求。不同客户有不一样的应用需求,有的想单使用BLE/SPP、有的想把BLE和SPP名称统一,手机端连接只识别到一个蓝牙设备名称...本文基于以上几种应用需求,对GW3323如何进行BLE和SPP模式切换简要说明。
二、BLE和SPP状态状态切换
2.1单使用蓝牙
2.1.1只使用SPP蓝牙时,关闭BLE蓝牙
(1)选择配置界面的管理配置,将BLE功能关闭后,保存配置;
(2)在config.h文件中,将LE_APP_EN宏定义配置为0,此时也需要ble_enter_transmit()和ble_send_packet1()等函数注释掉,防止报错;
(3)再次烧录后,重新上电,即可完成ble蓝牙的关闭.
2.1.2 只使用BLE蓝牙,关闭SPP蓝牙
(1)和ble蓝牙一样,关闭spp功能按钮;
(2)将config.h 的BT_DISCOVER_CTRL_EN 宏置1;
(3)此时再次下载后上电,即可看到spp蓝牙已经从手机上消失了,但需要先忘记配对才行;
2.2 BLE和SPP名称统一,手机端只能搜索到一个蓝牙设备(代码详见附件BLE_Slave_SPP_OneDevice)
(1)首先配置界面把蓝牙名称和BLE名称修改为一致
(2)在ble_get_local_bd_addr函数屏蔽一行代码,让BLE和SPP mac地址保持一致,否则还是会搜索出来两个同样名称不同mac地址的设备
2.3 开机打开BLE和SPP广播,当连接上BLE之后关闭SPP(代码详见附件BLE_Slave_SPP_Connect_BLE_Close_Spp)
(1)在bsp_bt.c文件添加bsp_spp_disinit函数
(2)在ble_connect_callback函数成功连接BLE之后,对SPP做关闭处理
|