我正在阅读BT 4.0和4.2之间的兼容性。我发现这里和另一个论坛的人说它完全兼容。另外,根据我读到的内容,主要区别在于安全性,速度和物联网。因此,如果我运行简单的BT连接(无IP)并且不需要最高速传输,我可以依赖4.0和4.2兼容的事实吗?
我的MCU库堆栈基于4.2,但我想使产品4.0兼容。有什么我应该知道的吗?我不应该使用的任何其他功能/功能?
答案 0 :(得分:6)
4.2功能在中央和外围设备之间协商。如果4.2主机尝试与4.0协商,则协商将失败,因为消息未知。必须假定错误为软故障,4.2主机不支持该功能。例如:
6.B.5.1.9中的长度扩展:
如果主站或从站的链路层发送LL_LENGTH_REQ PDU 对于不了解该PDU的设备,则该设备应该 期待LL_UNKNOWN_RSP PDU作为响应。如果链路层收到 一个LL_UNKNOWN_RSP PDU,UnknownType字段设置为LL_LENGTH_REQ, 那么它不应该向对等体发送另一个LL_LENGTH_REQ PDU 设备
3.H.3.5.2中的安全连接:
SC字段是1位标志,设置为1以请求LE安全 连接配对,否则根据支持配置为0 启动器和响应器的功能,可能产生的配对 机制是:如果两个设备都支持LE安全连接,请使用LE 安全连接;否则使用LE遗留配对。
所以基本上,是的,完全兼容。
旁注:即使在4.2规范中,所有“新”功能都是可选的(长度扩展,安全连接等)。因此,只要主持人回答与“我了解他们,但我不支持他们”的消息进行谈判,它就可以声称4.2兼容性并且实际上没有实现任何花哨的东西!大多数SoC供应商为其当前硬件发布软件升级到4.2实际上就是这样做的。