文章分類

2015年3月18日 星期三

[分享]Functional Global Variable

今天分享的是functional global variable,又可簡稱FGV。

這是利用shift register和case設計而成,

好處是可以避免使用過多的區域變數和全域變數。


以下是FGV的架構,範例是一個簡單的計時器。

外部有個Enum來控制需要執行的迴圈,

接著將這次的秒數丟給右側的shift register來做儲存。

大家可能會好奇那這樣可以做什麼?

簡單來說就是這個case負責儲存開始時間。


下面這個case來計算程式經過多久時間,

左側的shift register和目前時間做相減,便可以得到時間差了。

最外部的while迴圈一律給true,只執行一次即可。


接著來應用我們所做的計時器程式,

首先要把這個vi做成sub vi,

這是順序結構,執行順序為左到右,

先set設定時間,再用get把計時結果拉出來,

結果為5000 ms跟我們delay的時間一樣。







Patrick





沒有留言:

張貼留言