VB编的一个程序,和一个仪器(可以输出电压的仪器)进行串口通讯。 这个仪器输出的电压小于200V时,VB.EXE运行一点问题都没有,但是当仪器电压到大概400V时,电脑屏幕有明显雪花,这时很容易死机,通过资源管理器发现是这个VB通讯程序占据了几乎100%的CPU。 这可能是什么原因?如何解决? 下面是两段程序,感觉可能和它们有关。 Sub ZanTing(ByVal sTime As Single) '暂停秒 On Error Resume Next Dim ShiJian ShiJian = Timer Do While 1 DoEvents If ShiJian + sTime <= Timer Then Exit Do Loop End Sub ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''’‘’ Private Sub MSComm1_OnComm() '''''串口1 返回的数据都先到Text184中 On Error Resume Next Dim S() As Byte Dim SS(1024) As Byte Static N As Long Static T As Variant Dim I As Integer
If (MSComm1.CommEvent = comEvReceive) Then S = MSComm1.Input If (Timer - T > 0.01) Then Text184 = "" N = 0 End If T = Timer For I = 0 To UBound(S) Text184.Text = Text184.Text & Right("0" & Hex(S(I)), 2) SS(N + I) = S(I) N = N + UBound(S) Next I End If End Sub '''''''''''''''''''''''''''''''''''''''说错了,我这里的RThreshold是设置为1,不是0.。