2016-07-26 5 views
0

私はbluetoothを使用して2バイトのデータをHC-05moduleに送信し、それから受信するプロジェクトに取り組んでいます。すべてがうまくいっていますが、私が耐えることができないものが1つあります。それは以下に述べられています。ブルートゥースチップからデータを読み取るのに時間がかかります

は、私がデータを送信および受信の間の時間間隔を取得するためにSystem.currentTimeMills()を使用し、それは私の携帯電話上でこれ以上to readは200ms〜30 InputStreamの. However, it takes about1ms`` to detect whether there's data in the buffer ofより2バイトof data from the bluetooth`チップを取ります。

誰もが時間を減らす方法を知っていますか?それとも不完全ですか?

答えて

0

プライマリボトルネックは、プロトコルスケジューリングである必要があります。私はこの特定のモジュールがどのように動作するのかわかりませんが、一般的にはBluetoothであなたのタイムスロットが送受信を待つ必要があります。

提案:

  • チェック一度に2つの以上のバイトを送信することができます。読み取り時間は安定していますが、毎回より多くのデータが送信されます。
  • APIがスケジューリングオプションを提供しているかどうかをチェックして、待ち時間が減少するようにします。
  • あなたのユースケースでは、Bluetooth低エネルギー(BLE)の方が簡単だと思います。あなたは別のモジュールが必要ですが、IMOには価値があります。
+0

私は2バイト以上送信できますが、データを受信するmcuは毎回1バイトのデータしか処理できず、保存するバッファもありません。 最初にbleモジュールを使用しましたが、モジュールに別の問題があります –

関連する問題