5 是否支持btapp里面的ble,而不是NimBLE版

发布于 2022-09-04 20:41:07

define HCI_LE_HOST_SUPPORTED(x) ((x)[HCI_EXT_FEATURE_LE_HOST_OFF] & HCI_EXT_FEATURE_LE_HOST_MASK)

这个宏一直获取为0,是否表示不支持ble4.0呢?
20180913104934985.png

查看更多

关注者
0
被浏览
2.5k
hshiping
hshiping 2022-09-05
这家伙很懒,什么也没写!

问题中所提的btapp,即是使用传统蓝牙的库,传统蓝牙的库也是支持BLE的。使用测试如下:
1.使用的SDK是V1.0.4版本--wm_sdk_w800_20211203.rar。
2.换SDK的蓝牙库:
a.在lib目录下需要把libbtcontroller_br_edr.a和libbthost_br_edr.a改为libbtcontroller.a(替换

掉旧的库)和libbthost.a

b.toolsw800.config屏蔽这行CONFIG_W800_USE_NIMBLE---#CONFIG_W800_USE_NIMBLE=y
c.ldw800gcc_csky.ld连接文件加大代码区---LENGTH = 0x120000改为0x140000
d.includewm_config.h配置使用传统BT库同时支持BLE:

#define TLS_CONFIG_BR_EDR    CFG_ON
#define TLS_CONFIG_BLE      CFG_ON

e.demowm_demo.h把DEMO_CONSOLE宏打开DEMO_ON,把蓝牙DEMO打开DEMO_BT宏

#define DEMO_CONSOLE                DEMO_ON
#define DEMO_BT                     (DEMO_ON && DEMO_CONSOLE)

f.修改以上地方后,先编译库---make lib,再make.

代码修改参考截图:
image.png

image.png

image.png

3.生成固件后烧录测试log如下:
a.复位后,使用串口控制台指令测试发广播:循序执行截图中的两条命令---成功后手机nrf connectAPP能搜索到设备
image.png

image.png

b.复位后,使用串口控制台指令测试SERVER设备:循序执行截图中的两条命令---成功后手机APP能连上SERVER设备,发送通讯数据。
image.png

image.png

image.png

3 个回答
isme
isme 认证专家 2022-09-05
冰镇大西瓜

可以支持,SDK里面有两套蓝牙协议栈,默认用的是NimBLE蓝牙协议栈,只支持BLE,而另外一个蓝牙协议栈支持BT和BLE,相对编译后的固件也会大一些,可以通过宏定义选择。两个蓝牙协议栈分别参考以下两个文档:
image.png

jxsrtml
jxsrtml 2022-09-05
这家伙很懒,什么也没写!

1

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览