0

現在、USB デバイス (マイクロコントローラー ベースのデータ ロガー) を開発しており、デバイスからホスト コンピューターにデータを収集して視覚化したいと考えています。Libusbjava は、USB データ転送に使用されます。現在、デバイスに接続してデータを送受信できます。

私の問題は、デバイスから継続的にデータ (5.12Mb/s) を受信しようとするときです。何が起こるかは次のとおりです。

・whileループでデータを連続収集しようとすると、目的のUSBスループットが達成されるが、グラフ化スレッドが機能しなくなる・タイマースレッドを使用して1msごとにデータを収集しようとすると(1msごとに640バイト)、スループットが大幅に影響を受けますが、グラフスレッドは機能しています

必要なスループットとグラフ化を可能にするために Java コードを構築する最適な方法は何でしょうか?

4

1 に答える 1

1

を使用してバックグラウンドで USB 通信を処理しますSwingWorker。ミリ秒ごとに GUI を更新しようとするのは非現実的です。代わりに、publish()バッチで更新しprocess()、イベント ディスパッチ スレッドでそれらを更新します。

于 2014-01-31T12:55:05.530 に答える