iPhone を cc2564 デバイス (具体的には cc2564+msp430f5438) に接続するアプリケーションを開発しています。このアプリケーションは、データを送信するためにすばやく短い接続を行う必要があります。接続には信頼性が必要なので、接続が本当に成功したかどうかを知る必要があり、確実にデバイスに接続する方法が必要です。
ほとんどの場合、iPhone はデバイスに正しく接続し、サービスを検出して期待どおりに動作しますが、iPhone が接続を確立しても、検出されたサービスのコールバックが呼び出されないことがあります。
スニファを使用して通信パッケージを調べたところ、接続パッケージが送信されたが、デバイスからの応答がなかった場合、電話機はいくつかのバージョン要求メッセージを再試行してから停止することがわかりました。画像で:
問題はデバイスにあるようです。Texas が提供する SPPLEDemo サンプルを使用しています。接続が確立されたときに最初に呼び出される関数はGAP_LE_Evenet_Callback
であり、問題が発生しても呼び出されません。GAP API 内のどこかでデバイスが接続メッセージを受信するかどうかはわかりません。
エラーが発生したときにデバイスが接続メッセージを受信したかどうかをデバッグする方法や知る方法はありますか?
iPhone の問題ですか (可能性は低いです)、それともデバイスの問題ですか?