[VB6 ] 寫示波器介面 Timer 不夠快 at Win7

看板Visual_Basic作者 (800IM)時間14年前 (2012/01/02 07:43), 編輯推噓1(108)
留言9則, 2人參與, 最新討論串1/3 (看更多)
我寫了一個示波器軟體 從 USB 接受 Sensor 的訊號 在 PictureBox 畫波形 但是有大家所熟知的問題 Timer 無法快於 15mS 設定比這個快都是騙人的 網路上找了幾個方法,不過都還是有問題 1.timeGetTime()  雖然可以計算到 1mS, 但是要怎樣能像 Timer 一樣, 在指定的 interval 內 把{port取值,繪圖,存變數}的過程執行一次? 2.ccrpTmr6 error 429 3.cHiResTimer 遺失MSVBVM50.dll 我禮拜二就要上台報告了,目前卡在這裡好幾天了阿,拜託各位高手幫忙, 看要餽贈p幣或我請你喝果汁都可以 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.52.240

01/02 09:48, , 1F
用無限迴圈配timeGetTime,到你要時間點call你函式
01/02 09:48, 1F
會當機!!! 用F8可以一直跑沒問題 放給他自己跑就會當機!!! Private Sub Form_Activate() While (1) lTime = timeGetTime() If timeGetTime() - lTime >= 10 Then DrawOSC '繪圖的函數(畫兩個資料點之間的直線) End If Wend End Sub ※ 編輯: deo2000 來自: 61.224.52.240 (01/02 10:12)

01/02 10:19, , 2F
無窮回圈+doevents
01/02 10:19, 2F

01/02 10:24, , 3F
btw, 你回圈內寫的怪怪的...
01/02 10:24, 3F

01/02 14:42, , 4F
沒使用全域變數才可用doevents,另照這寫法過10ms就每
01/02 14:42, 4F

01/02 14:43, , 5F
次迴圈都在Draw,你要更新lTime
01/02 14:43, 5F

01/02 14:46, , 6F
且lTime = timeGetTime()請搬到迴圈外
01/02 14:46, 6F

01/02 14:49, , 7F
另外程式不要放在Form_Activate()裡,form重繪無法離開
01/02 14:49, 7F

01/02 14:49, , 8F
Form_Activate
01/02 14:49, 8F

01/02 15:42, , 9F
怪怪的... (攤
01/02 15:42, 9F
文章代碼(AID): #1F0E-zMA (Visual_Basic)
文章代碼(AID): #1F0E-zMA (Visual_Basic)