0

我在 TI cc2650 上开发了一个 Android 应用程序和另一个应用程序。这是一个BLE应用程序。在这个应用程序中,SP 充当中央设备,CC2650 充当外围设备。

一开始,在android端发现服务并订阅我从cc2650读取值的特性后,我正在调用requestMtu(myDesiredNewMtu),之后cc2650用ATT_MtuUpdatedEvt协商的MTU响应事件,然后在android端我得到带有最终 MTU 值和状态(通常是成功)的回调onMtuChanged()BluetoothGattCallback

但是对于目前的情况,我希望 CC2650 开始 MTU 协商。所以我从 CC2650 发送ATT_ExchangeMTUReq了所需的 MTU,发生的情况是 android 响应“好的,新的 MTU 很好,让我们使用它(ATT_ExchangeMTURsp与协商的 MTU)”但随后callbackandroidonMtuChanged()上的没有被调用!

所以我不知道最终协商的 MTU 是什么?

4

1 回答 1

0

是的!

不幸的是,这就是目前构建 Android 的 API 的方式......

您可以有一个通知特性,将 MTU 发送到 Android 设备作为解决方法。但是为什么需要从peripheral侧进行MTU协商呢?从 Android 端执行此操作应该是首选方式。

于 2017-06-29T12:27:51.573 回答