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

撰寫答案

請登錄後再發布答案,點擊登錄

發布
問題

分享
好友

手機
浏覽

掃碼手機浏覽