0

当我将示波器头文件中的 Nreadings 从 1 更改为 2 时,我最终会从一个传感器获得 4 个字节的数据。我的疑问是这4个字节是否在不同时刻以2组2个字节的形式出现?如果是这样,我应该在显示它们之前对这两组进行平均吗?

4

1 回答 1

0

示波器应用程序每隔固定间隔(DEFAULT_INTERVAL在头文件中定义)对传感器进行采样,一旦收集到NREADINGS样本,它就会发送一个包含这些读数的数据包。然后,读数计数器重置为零。

因此,如果您更改NREADINGS2,将每两个样本发送一个数据包(并且它将包含两个读数)。由于样本大小为 2 个字节 ( uint16_t),因此每个数据包有 4 个字节的读数数据。您如何处理这些数据取决于您想要实现的目标。示波器附带一个 Java 应用程序,可在图表上显示 BaseStation 应用程序接收到的数据(请参阅README.txt)。

我认为一切都在源代码中进行了解释:

/* Number of readings per message. If you increase this, you may have to
   increase the message_t size. */
NREADINGS = 10,

和数据包定义:

typedef nx_struct oscilloscope {
  nx_uint16_t version; /* Version of the interval. */
  nx_uint16_t interval; /* Samping period. */
  nx_uint16_t id; /* Mote id of sending mote. */
  nx_uint16_t count; /* The readings are samples count * NREADINGS onwards */
  nx_uint16_t readings[NREADINGS];
} oscilloscope_t;
于 2015-02-12T19:20:14.363 回答