如何解决在第二次连接期间 OnConnect 不需要的 BLE 回调
我正在开发 nRF52840 和 Android 智能手机之间的帧交换序列。实现了 nRF52840 端,我现在正在使用 Kotlin 实现 Android 应用程序。
应用程序使用“写入”来发送帧,而 nRF52840 使用“通知”来回复。
在第一次连接期间,帧交换运行良好。但是,如果我断开连接并尝试重新连接,BLE 设备和智能手机会交换几帧,然后我会收到一个“onConnect”回调,该回调会导致我的应用程序崩溃(因为我已经连接了)。
我所有的操作都由状态机决定,那么我的错误是什么?
解决方法
我已经找到了解决我的问题的方法。 nRF52840 和 Android 智能手机之间的帧交换基于状态机。我使用 D3xter's answer 来实现这个状态机,我的问题似乎来自它。
所以我使用 Tinder's state machine 和 Michael Gikaru's article 重新实现了我的状态机,现在它可以工作了!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。