200KHz的采樣頻率,也就是5微秒采集一個資料,采集是由下位機定時完成,但通過串口傳遞給上位機,上位機需要實時顯示動態曲線或者資料,那么上位機應該也是5微秒要畫1個點吧,這樣的情況是不是必須要用多執行緒編程,1個執行緒通訊和存盤資料,1個執行緒畫圖,主執行緒回應滑鼠等界面操作,我的想法對嗎?
或者上位機是否可以也用定時器,定時收取資料和畫圖,不用執行緒,可行嗎?
uj5u.com熱心網友回復:
串口通信中自帶有接收資料的執行緒,呼叫那個函式就行在接收玩資料的陳述句下面添加畫點程式
uj5u.com熱心網友回復:
要用多執行緒的,尤其是界面,不要看不起它,對于你間隔這么小的時間來說它其實是很耗費時間的你應該是用一個單獨的執行緒接收資料,然后不要寫螢屏,而是存入記憶體,然后用一個單獨的執行緒把圖畫到螢屏,這個可以用計時器,比如200毫秒畫一次即可
uj5u.com熱心網友回復:
實時畫螢屏不要理解為真的一毫秒不差,而是要考慮人的眼睛和大腦的延時,人的眼睛有0.1妙的反應時間,加上大腦的判斷時間0.2妙完全足夠uj5u.com熱心網友回復:
螢屏是整體重繪的,在同一時刻畫1個點和畫100個點是一樣的,因此你0.2秒畫40個點足可uj5u.com熱心網友回復:
如果不需要操作,你用阻塞方式也可以。uj5u.com熱心網友回復:
螢屏一般重繪率是60hz,超過這個就沒用了.你一秒畫200次,屏螢屏也只更新60次.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/115905.html
標籤:基礎類
上一篇:如何訪問ISA插槽上的存盤空間
下一篇:MFC Winhttp
