第二次连接期间的 OnConnect 不需要的 BLE 回调
OnConnect unwanted BLE callback during the second connection
我正在开发 nRF52840 和 Android 智能手机之间的帧交换序列。 nRF52840 端已实现,我现在正在使用 Kotlin 实现 Android 应用程序。
应用程序使用“写入”来发送帧,nRF52840 使用“通知”来回复。
在第一次连接时,帧交换工作正常。但是,如果我断开连接并尝试重新连接,BLE 设备和智能手机会交换几帧,我会收到一个“onConnect”回调,这会使我的应用程序崩溃(因为我已经连接)。
我所有的操作都是由状态机决定的,所以我的错误是什么?
我找到了解决问题的方法。
nRF52840 和 Android 智能手机之间的帧交换基于状态机。我使用 D3xter's answer 来实现这个状态机,我的问题似乎来自于它。
所以我使用 Tinder's state machine and Michael Gikaru's article 重新实现了我的状态机,现在它可以工作了!
我正在开发 nRF52840 和 Android 智能手机之间的帧交换序列。 nRF52840 端已实现,我现在正在使用 Kotlin 实现 Android 应用程序。
应用程序使用“写入”来发送帧,nRF52840 使用“通知”来回复。
在第一次连接时,帧交换工作正常。但是,如果我断开连接并尝试重新连接,BLE 设备和智能手机会交换几帧,我会收到一个“onConnect”回调,这会使我的应用程序崩溃(因为我已经连接)。
我所有的操作都是由状态机决定的,所以我的错误是什么?
我找到了解决问题的方法。 nRF52840 和 Android 智能手机之间的帧交换基于状态机。我使用 D3xter's answer 来实现这个状态机,我的问题似乎来自于它。
所以我使用 Tinder's state machine and Michael Gikaru's article 重新实现了我的状态机,现在它可以工作了!