0

ADCの複数のチャネルからサンプルを取得し、処理とグラフ化のためにアプリに送り返す外部デバイスUcに接続されている、Javaでアプリケーションのコードを書くこの問題に行き詰まっています。私の問題は、後で処理するために、サンプリングされた各チャネルに対応するサンプルのデータを並べ替えて保存する方法がわからないことです.3つの異なるチャネルからのすべてのデータを一度にグラフ化することはできません. どんな提案でも大歓迎です!

4

1 に答える 1

0

1)グローバルint変数(int eventTimerなど)を作成し、タイマーティックごとにこのeventTimerを増加させる独自のスレッドを持つタイマーを作成します。サンプリングレートに従ってタイマーの周期を設定します。

2) 各チャネルのマ​​ップを作成して、次のような「読み取り時間と読み取り値」を保存します。

Map<int, float> readingsFromChannel1 = new HashMap<int, float>();

そのチャネルから新しい測定値を受け取るたびに、次のようにマップに追加します。

float value; // the value that you just get from channel 1
readingsFromChannel1.put(eventTimer, value);

3)グラフの描画機能で:

// drawing of channel1 data:
iterator it = readingsFromChannel1.iterator();
while(it.next())
{
  Map.Entry m =(Map.Entry)it.next();
  int key=(Integer)m.getKey();
  float value=(float)m.getValue();
  // I assume that you have a putpixel(x,y) method for drawing:
  putPixel(key - eventTimer, value);
}
于 2012-05-29T12:41:04.387 に答える