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