0

我被困在为 Java 应用程序编写代码的问题上,该应用程序与外部设备 Uc 连接,该设备从 ADC 的多个通道获取样本并将它们发送回应用程序进行处理和绘图。我的问题是,我不知道如何排序和存储与每个采样通道相对应的样本数据以供以后处理,因为我无法绘制所有数据,比如一次来自 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 回答