作者deo2000 (800IM)
看板Visual_Basic
標題[VB6 ] 寫示波器軟體Timer不夠快 at Win7
時間Mon Jan 2 07:43:55 2012
我寫了一個示波器軟體
從 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
1F:→ Semisphere:用無限迴圈配timeGetTime,到你要時間點call你函式 01/02 09:48
會當機!!! 用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)
2F:→ Berger927:無窮回圈+doevents 01/02 10:19
3F:→ Berger927:btw, 你回圈內寫的怪怪的... 01/02 10:24
4F:推 Semisphere:沒使用全域變數才可用doevents,另照這寫法過10ms就每 01/02 14:42
5F:→ Semisphere:次迴圈都在Draw,你要更新lTime 01/02 14:43
6F:→ Semisphere:且lTime = timeGetTime()請搬到迴圈外 01/02 14:46
7F:→ Semisphere:另外程式不要放在Form_Activate()裡,form重繪無法離開 01/02 14:49
8F:→ Semisphere:Form_Activate 01/02 14:49
9F:→ Berger927:怪怪的... (攤 01/02 15:42