2400749_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2400749_zh-CN

2400749_zh-CN

如何将 BLE 和经典蓝牙集成以实现双模操作

大家好,

我正在使用:

MCU:i.MX RT1176 EVKB;WiFi/蓝牙模块:村田 IW416

我想将 BLE wireless_uart_cm7 服务添加到
handsfree_ag_cm7 应用程序,以便该应用程序同时支持以下两项:

- 蓝牙经典版(HFP AG)
- BLE GATT(无线 UART)

在 BT_features.h 中,我注意到:

#ifndef CFG_CLASSIC #define BT_LE #endif

由于 CFG_CLASSIC 是在项目预处理器中定义的,因此 BT_LE 永远不会被定义。
已定义。

版本双模(经典+BLE)
设备的推荐方法是什么?使用 EdgeFast 蓝牙协议栈的应用程序?

是否应该移除 CFG_CLASSIC,或者是否有其他项目配置?
或者,也可以选择专为双模应用设计的版本选项?

是否有任何示例或应用笔记演示如何合并
handsfree_ag_cm7 与 wireless_uart_cm7 兼容?

MCXARe: How to integrate the BLE and Classic Bluetooth for dual-mode operation

亲爱的@Karthick_KL


您的整合方向是正确的。由于 HFP AG 是主要应用,`handsfree_ag_cm7` 应该保持为基础项目,并且应该将 BLE 无线 UART GATT 服务添加到该项目中。

`CFG_CLASSIC` 不应被移除,因为蓝牙经典 HFP AG 我的需要它。这个问题很可能是由`BT_features.h`中的示例项目特征选择逻辑引起的:

#ifndef CFG_CLASSIC
#define BT_LE
#endif

此逻辑使得 `BT_LE` 仅对非经典示例项目启用。它适用于单功能 SDK 示例,但对于自定义双模式应用程序来说不够用。

对于双模应用,该项目应保持启用经典/HFP AG 配置,并明确启用 BLE 主机/GATT 配置。换句话说,双模项目应该同时版本经典路径和 LE 路径。

一个可能的方向是引入项目级双模或 BLE 宏,例如 `CFG_BLE` 或 `CFG_DUAL_MODE`,并更新功能选择,以便即使定义了 `CFG_CLASSIC` 也可以启用 `BT_LE`。例如:

#如果已定义(CFG_BLE) || 已定义(CFG_DUAL_MODE) || 未定义(CFG_CLASSIC)
#define BT_LE
#endif

然后仅将无线 UART BLE 服务、广播数据、GATT 回调和 BLE 连接处理合并到 `handsfree_ag_cm7` 应用程序中。Bluetooth 协议栈初始化应保持单实例,HFP AG Classic 路径应保持不变。

我们目前还没有发现可以直接将 `handsfree_ag_cm7` 与 `wireless_uart_cm7` 合并的现成公共 SDK 示例或应用笔记。现有的公开示例分别演示了 `handsfree_ag` 和 `wireless_uart`,因此这应该被视为自定义的双模应用程序集成。


谢谢您!

此致,

卫东

タグ(1)
評価なし
バージョン履歴
最終更新日:
火曜日
更新者: