该如何开启 BLE 低功耗蓝牙?
在 wm_config. h 里只有两个选项 NIMBLE_FTR 或者不是, 看代码逻辑蓝牙这边分为三个分支 BT, BLE, NIMBLE, 由于需要 BLE 所以需要选择 NIMBLE,
但是编译会报错:
wm_main. c: 409: undefined reference to `tls_bt_entry'
那如果不开启 NIMBLE_FTR 单独打开 BLE,
又会有很多错误:
wm_cmdp_hostif. c: 6679: 52: error: 'ble_uart_server_cb' undeclared (first use in this function)
修改完一些错误后会报. a 库里的一个依赖函数缺少:
. . /. . /. . /. . /. . /. . /. . /lib/w800libbtcontroller_br_edr. a (btc_main. o) : In function `tls_ble_set_scan_chnl_map':
D: workV1. 00. 08srcbtcontrollermain/btc_main. c: 728: undefined reference to `tls_llm_util_set_scan_chnl_map'
wm_config. h 默认配置即可, 看手册.
WM_W800_蓝牙系统架构以及 API 描述 (NimBLE 版) _V1. 1. pdf
默认配置是经典 BT 吧? 不是低功耗蓝牙 BLE
@solid_2022 默认用的就是 NimBLE, 不支持 BT
会不会我的 sdk 不对, 我用的是最新的 23 年 8 月份的, 编译是不走 NIMBLE_FTR 分支的
if NIMBLE_FTR
编译不走这个分支
define TLS_CONFIG_BLE CFG_ON
define TLS_CONFIG_BR_EDR CFG_OFF
else
define TLS_CONFIG_BLE CFG_OFF
define TLS_CONFIG_BR_EDR CFG_ON
endif
@isme 会不会我的 sdk 不对, 我用的是最新的 23 年 8 月份的, 编译是不走 NIMBLE_FTR 分支的
if NIMBLE_FTR
编译不走这个分支
define TLS_CONFIG_BLE CFG_ON
define TLS_CONFIG_BR_EDR CFG_OFF
else
define TLS_CONFIG_BLE CFG_OFF
define TLS_CONFIG_BR_EDR CFG_ON
endif
@isme 抱歉 SDK 没有问题, 错误的使用了 BT 版本