作者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