0

昨夜、WinMo 6 プログラムのデバッグ中に予期しない動作に遭遇しました。夢だったのでしょうか。しかし、最初に、いくつかのコンテキスト。

このプログラムは、シリアル ポートを介して GPS デバイスと通信します。ケーブル付きの物理ポートを使用し、Bluetooth 経由でも試行します。サスペンドまたは電源オフの後、ポートが物理リンクを使用していた場合、ポートを閉じて再度開く必要はありません。ただし、Bluetooth を使用している場合は、再接続する必要があります。古いハンドルではバイトは送信されません。再起動には約 6 ~ 7 秒かかるため、Bluetooth で一時停止した直後はアプリを使用できません。

しかし、私の Bluetooth シリアル ポートは、何度か電源を切って入れ直した後も有効で機能していたというデバッグ ストリークを覚えており、嬉しい驚きでした。現在、動作を再現できません。それは BT ドライバーのバグでしたか?

試してみるべき構成や API についてのヒントがあれば、それが機能するようになったことがあれば、それは素晴らしいことです。

4

1 に答える 1

1

Bluetooth プロトコルは、GPD デバイスと Windows デバイス間の通信が少なくとも数秒に 1 回必要になるように設計されています。通信が存在しない場合、リンクはタイムアウトになり、最初から再確立する必要があります。

そして第二に、パワーサイクルを実行する方法があります。適切に実装された Bluetooth スタックは、通常の方法で電源オフ状態になると、開いている接続を明示的に閉じます。

要するに、Bluetooth 接続は電源を入れ直しても存続することを意図していないため、電源を入れ直した後にリモート Bluetooth デバイスへの接続を再確立できるようにプログラムを準備する必要があります。

于 2010-10-15T14:00:10.887 に答える