我通过COM传数据,运行收不到数据,我想设置一个断点来看一下错误出在哪里,我靠,设了以后居然能正常运行,我把断点去掉,又收不到数据了,如此反复几次,情况依旧,我一点办法也没有,大家给我评评理儿,我是到底做错了什么?

解决方案 »

  1.   

    Private Sub MSCommTracer_OnComm()
                    Dim i As Long
                    Dim BufferText As String
                    Dim Rtmp
                    Dim tempStr As String
                    Dim MScommInput As String
                    Dim mscomminputLen As Integer
                    Dim Tp As Variant
                    For i = 0 To DelayLoop '40000000
                    Next                MScommInput = MSComm.Input
                    mscomminputLen = Len(MScommInput)
                    MSCommTracer.InBufferCount = 0
                    labLen.Caption = "0"                RTB1.Text = MScommInput                MSCommTracer.InBufferCount = 0
                                   
                    If MScommInput <> "" And MScommInput <> vbCrLf Then
                        BufferText = BufferText & MScommInput
                        If MSCommTracer.InBufferCount <> 0 Then
                            Do
                                BufferText = BufferText & MScommInput
                            Loop Until MSCommTracer.InBufferCount = 0
                        End If
                        MSCommTracer.InBufferCount = 0
                        ReceiveStr = BufferText
                        Tp = Split(ReceiveStr, vbCrLf)
                   End If
    End Subdata bit:7
    parity:none
    flow control:Xon/RTS
    HandShaking 0-comxlone
    inbuffersize:1024
    out:512
    inputmode:0-cominputmodetext
      

  2.   

    For i = 0 To DelayLoop '40000000'先把这个延迟去掉
    Next
      

  3.   

    For i = 0 To DelayLoop '40000000
    Next
    换成
                            sdate = Now()
                            N = MSComm1.InBufferCount
                            Do While DateDiff("s", sdate, Now) < 8
                                If N >= 3 Then
                                    Exit Do
                                Else
                                    N = MSComm1.InBufferCount
                                End If
                            Loop
    试试