labview實(shí)現串口通信(三)
(1)在循環(huán)中加入適量的延時(shí),通過(guò)一個(gè)簡(jiǎn)單的例子看,

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

因為我們不知道數據緩沖區有多少個(gè)字節,這樣就不需要去設定了
(3)經(jīng)??吹綍?huì )有人說(shuō)串口里面有一堆數據,但是去讀的時(shí)候卻讀回來(lái)一點(diǎn)點(diǎn),每次均不相同,這種懷狀況是由于串口有一個(gè)serial configuration這個(gè)節點(diǎn)上面,有一個(gè)termination char,大家將它設為F就可以了,因為遇到這個(gè)終止符,它就會(huì )停止讀數,所以讀回來(lái)的就會(huì )少了!
評論