我是 BLE/蓝牙编程的新手。众所周知,BLE/蓝牙是一个完整的模块。最近我发现,NimBLE 提供了蓝牙的主机堆栈或控制器部分。https://github.com/apache/mynewt-core。在这里他们提到它支持任何主机堆栈与任何控制器的混合和匹配。
那么,是所有模块的 HCI 层(主机堆栈通过其交互)和控制器(较低的蓝牙层)实现相同还是特定于供应商?
如果我从 NimBLE 中选择主机堆栈,HCI 的实现是否允许我使用任何供应商的控制器进行操作,或者 HCI 层是否应该使用供应商规范实现并取决于控制器。
我假设蓝牙/BLE模块的控制器部分具有基本的RF和通信部分,所有模块的互操作性都是相同的。如果这个问题是微不足道的,我很抱歉。