9

BLE を使用して周辺機器に接続できますが、いくつかの特性を読み取った直後に、フレームワークが次のように返します。

CoreBluetooth[警告] 不明なエラー: 14

ペリフェラルが切断されます。

BT Core_V4.0 の仕様を見ると、エラーの意味がわかりません。14 は 16 進数ですか? 仕様によると、次のエラーを意味しますか: (パート D セクション 2 - エラー コード)

2.20 リソース不足によるリモート デバイスの接続終了 (0X14) リソース不足によるリモート デバイス接続の終了エラー コードは、リソース不足のためにリモート デバイスが接続を終了したことを示します。

バッテリーを交換してみましたが、別の効果はありませんでした。

また、これらの CB エラーをキャッチする方法がわかりません。ログに記録されるだけですが、デバイスが切断されてもエラーは発生しません (null です)。

周辺機器のソース コードを直接管理することはできませんが、バグ修正を依頼することはできます。そのため、ヒントをいただければ幸いです。

ありがとう、

4

1 に答える 1

6

これらの CB エラーをインターセプトすることはできません。これらは下位層の BLE からの単なるトレースです。

たとえば、エラー 13 は、書き込まれたデータの長さが GATT データベースで指定されたとおりでない場合です。エラー 14 は、接続が反対側 (周辺機器) によって閉じられたことを意味します。私はこれを数回見ました。データの読み取りが速すぎる場合があります (前のアクセスが応答される前に次のアクセスを要求することはできません。接続ごとに BLE には 1 つの「リソース」しかありません。これも表示されるのでしょうか?

いつものように、sniffer sw がインストールされた TI BTLE USB ドングルを入手し、そのドングルを使用して BLE モードで TI RF Sniffer ツールを使用することをお勧めします。これらのトレースから、デバッグできる多くの情報を取得できます。同様に、応答のない複数の読み取りまたは書き込み要求があるかどうかを確認します。

于 2013-03-23T09:19:35.900 に答える