使用很多while loop 是否會造成程式跑的速度變慢呢

各位前輩

目前我用rs232連接電腦和ADC做資料擷取

然後做一些控制 , 所以使用了很多while  loop

我用一個while loop一直在擷取資料

但一邊又用了很多while loop做一些反覆性的判斷控制

這樣會不會使程式的速度變慢很多呢??有沒有什麼方法可以有效的改善速度變慢的情況

程式的寫作方式影響到效率的程度可多可少,而且有很多不同的案例,建議你把程式碼放上來,這樣大家比較好幫忙找尋問題。

這是我的程式

用了好多loop溫室串列控制單晶片(NEW).VI

初步看過你的程式後,發現有幾個問題。

  • 在做人機介面時,一般使用者的操作速度遠比程式執行速度要慢得許多,所以在對於 event 的處理要注意到。
    在單純利用 Boolean 及「Case Struceure」來處理 event 但是必需注意的是,一般 LabVIEW 會用 CPU 最快速度的去執行程式,如果我在 Loop 裡頭沒有任何程式碼在執行時,那麼整個電腦的 CPU 都會被 Loop 給耗盡,所以我們都會在 Loop 裡頭加上個 delay time 100 ~ 400 ms,即不影響判斷 "在操作時程時所 觸發的event",又可解決CPU 資源被耗盡的問題。
  • 處理 event 可以使用「Event Structure」,簡單且快速建立起所要的 event 處理。
  • 在處理不同的 event 盡量放在同一個 Loop 裡頭處理,而且除非有某些程序需要同時執行,不然一次只處理一個 event,這樣比較好 debug。
  • 底下有幾篇文章,可以參考些概念,另外網站上尚有一些 event 相關討論,再去搜尋一下看看。
    網路研討會:Event Structure教學
    主題: 請問幾個小問題
    主題: [請教]DoEvent的迷思

 

Airbolt39413.5536458333