並排放兩個While Loop時,為什麼下面的While Loop輸出的資料為空的呢?

大大好:

         呆呆又有問題請教大大們

         請問並排放兩個While Loop時

         為什麼下面的While Loop輸出的資料為空的呢?

         呆呆程式架構如下:

         篩選範圍值架構.vi

         呆呆不知為什麼出現這樣的bug

         大大們可否告知呆呆怎麼解決呢~

         不勝感激~

        

因為你下面的While Loop做比較時ARRAY SIZE一直都沒有等於1過所以下面的While Loop一直沒離開

linch1138883.7289236111

Dear linch11:

                        這個呆呆自己在debug時有發現

                        但是如果把上面的While Loop給刪除

                        只包留下面單一While Loop來執行時

                        它是有輸出資料的喔~

                        只是不懂放兩個並排的While Loop時

                        下方在前端是有資料的

                        一進入register後1D ARRAY是空的資料

                        不懂~~

                         求救~求救~

你可以用 Debug 的工具來協助找尋問題。

像是 Tools Palette 裡的Set/Clear Breakpoint 、Probe Data
還有工具列上的 Highlight Execution 。

這些可以幫助你更容易看出每個地方的資料流動的情況,
其中你的程式中,有幾個點要注意的:

  1. Loop 的停止條件。

    是不是將所有情況都考慮進去?
    有沒有可能出現讓 Loop 無法停止的情況?
  2. 程式的功能設定。

    引述程式中的註解:
    step 6:峰值搜尋
           二次差分:取最低前20名對應之index也一併抓取,取前五名且index範圍+5~-5

    在所要搜尋資料之中,取得最低的 20 個資料,是一定沒問題的,
    但是,在這 20 個裡頭,又要相鄰不超個五個 index ,
    不一定都可滿足。

    像發生這種情況時,程式要怎麼處理呢?

 

上述的,我想大概就是程式中下方 While Loop 發生問題的原因囉。

已將程式做修改程式內部有解釋

2006-06-15_145251_49UO6C660WU8[1].vi

linch1138883.9667013889

应该是他的程序内部逻辑关系有问题,下面的循环始终达不到结束的条件,所以一旦强制终止程序运行就不能执行循环后面的部分,也就不可能显示出数据。

Dear linch11:

                        謝謝您的幫忙~

                        呆呆又將問題解決囉~

                        開心耶~

                        感激萬千~