NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

陣列

已解決!
前往解決方案

 

請問從TCP接收資料收到的值假設為 24 0 24 0 25 0 26 1......以此類推

我想要把接受到的值兩兩一組轉成陣列[ 24 ][ 24 ][ 25 ][ 26 ]

                                                      0       0       0       1

 

並且持續更新,我該怎麼做?

之後如果我要取最新陣列作比較,有要用到buffer嗎?不然要怎麼做?

謝謝

 

 

0 積分
1 條訊息(共 4 條)
6,671 檢視
解決方案
由主題作者所接受 cynthia32

其實這會根據妳要達到不同的目的,有不同的寫法,

 

最簡單的方式,就是使用兩層迴圈,用while loop包住for loop,

 

while loop目的是要連續擷取,

 

for loop的執行次數要設定兩次,把這兩次抓到的值利用auto-indexing或是build array建立好,

 

比對的動作要在while迴圈做,由於迴圈的原因,是要用到shift register的。

 

2 條訊息(共 4 條)
6,659 檢視

謝謝前輩的回應

 

我剛剛有試一下,原本的預想是array0都是20~30,array1都是0跟1

但是他還是會亂跳,為什麼?

新手請多包含~

附圖

由 cynthia32 在 02-23-2010 12:41 AM
上編輯的訊息
0 積分
3 條訊息(共 4 條)
6,654 檢視

Hi~ 看了妳的程式之後,這邊有幾點建議,

 

1. TCP Read的時候,bytes to read是只讀一個byte,然後接for loop跑兩次,

但是這兩次你傳進去的值都一樣,所以得到的array並不會是你想要的結果。

因此妳必須要知道並想清楚的是,一次讀取要讀幾個字元?

 

2.如果你一次要讀取超過一筆的資料近for loop,

那麼index array的地方就應該要把index 0, 1的值通通讀出來

或是考慮使用其他VI像是array subset之類的VI把它讀值出來。

4 條訊息(共 4 條)
6,630 檢視