labview實現串口通信(三)
(1)在循環中加入適量的延時,通過一個簡單的例子看,

你會發現在cpu的占用率在加延時和不加的時候有很大的區別,當加的時候基本不占,而不加延時的時候達到100%。我在調試串口通信時候,發現while loop里加一個延時會有很好的效果(假如有一個或某幾個線程占用了 100% 的 CPU,此時系統對其他線程就會反應遲鈍。例如,程序的執行線程占用了100% 的 CPU,那么用戶對界面的操作就會遲遲得不到響應,甚至于用戶會誤認為程序死鎖了。所以在程序中要盡量避免出現 100% 占用 CPU 的情況。 目前大多數的計算機還是單核單個 CPU 的,因此要避免任何一個線程試圖 100% 占用 CPU 的情況).
(2)visa read 的字節總數最好用一個屬性節點來代替

因為我們不知道數據緩沖區有多少個字節,這樣就不需要去設定了
(3)經常看到會有人說串口里面有一堆數據,但是去讀的時候卻讀回來一點點,每次均不相同,這種懷狀況是由于串口有一個serial configuration這個節點上面,有一個termination char,大家將它設為F就可以了,因為遇到這個終止符,它就會停止讀數,所以讀回來的就會少了!


評論