伊莉討論區
標題:
讀取訊號用Timer適合嗎?
[打印本頁]
作者:
vx96825k
時間:
2013-2-22 10:53 PM
標題:
讀取訊號用Timer適合嗎?
最近在進行使用VB2010編寫讀取串列訊號的程式,我使用的方法是利用Timer進行自動讀取,可是我遇到一個問題,
當我從儀器讀取大量資料時發現使用Timer讀取會發生資料短少,也就是會漏資料
請問有人遇過這種狀況嗎?
還是讀取資料應該使用委派或是建立執行緒
作者:
gpgpi
時間:
2013-2-23 01:15 AM
你寫的東西都是參考
Visual Basic 2010與自動化系統監控:RS232串列通訊篇
這本書的,書上不是都寫得很明白?怎麼還在問這種問題
作者:
vx96825k
時間:
2013-2-23 01:14 PM
我只是想知道有沒有使用Timer準確收資料的方法
這在Visual Basic 2010與自動化系統監控:RS232串列通訊篇書上沒有提到
作者:
darkjack
時間:
2013-2-24 01:14 AM
本帖最後由 darkjack 於 2013-2-24 01:17 AM 編輯
用 Timer 會lost 資料很正常阿 因為他準確性沒那麼高阿
timer 只是方便使用而已 你網路查一下 Timer 的精確度
如果多個Timer ,會lost 更嚴重!
如果真的要很準確接收資料 那請你用 Thread 或者 backgroundworker並且配合使用 api 的 GetcountTicker ,queryperformancecounter , TimeGetTime
作者:
gpgpi
時間:
2013-2-24 01:43 AM
設備也會延遲,timer也會延遲,如果你能讓timer跟設備延遲的時間一樣,那就不會loss資料,不過基本上不可能
不過最準確的方法是,你要能知道設備傳來的資料長度(或起始&結束位元),依照資料長度(或起始&結束位元)來收資料,那即使用timer收資料也不會出現資料突然多一個位元或是少一個位元的問題
但還是有其他方法收資料,書上有一定有寫,看清楚那些用法吧
歡迎光臨 伊莉討論區 (http://a401.file-static.com/)
Powered by Discuz!