2015-02-11 35 views
0

當我在示波器頭文件中將Nreads從1更改爲2時,我最終從一個傳感器獲取4個字節的數據。我的疑問是,這4個字節在不同時刻是以兩組2字節的形式存在的嗎?如果是這樣,我應該平均這兩套之前,我展示他們?更改人工tinyos

回答

0

示波器應用程序每隔固定的時間間隔(在頭文件中定義爲DEFAULT_INTERVAL)對傳感器進行採樣,並且一收集到NREADINGS採樣,它就發送一個包含這些讀數的數據包。然後,讀數計數器重置爲零。

因此,如果您將NREADINGS更改爲2,則會每隔兩個樣本發送一個數據包(並且它將包含兩個讀數)。由於樣本的大小爲2個字節(uint16_t),因此每個數據包將產生4個字節的讀數據。你如何處理這些數據取決於你想要達到的目標。示波器帶有一個Java應用程序,該應用程序在圖表上顯示基站應用程序接收的數據(請參閱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; 
+0

謝謝您的答覆。是的,我正在收集X和Y加速度計讀數,現在我接收的數據形式爲X1X2 Y1Y2,其中X1,X2,Y1,Y2每個字節爲2個字節,因此我將Nreads設置爲2,因此每個傳感器得到4個字節。我的目的是在每次傳輸時傳輸更多的數據。所以,你的答案是有幫助的! – 2015-02-12 21:24:04