Private Sub MSComm1_OnComm()
     Dim Buffe() As Byte
     Dim Temp1 As Long
     Dim a, C, d, i, j, K, l, m, n, s, x, Y, Z As Integer 'b,
     Dim Buffer As Variant
     Dim Txt As String
     Dim Head1(11), Head2(11) As Byte
     
     Select Case MSComm1.CommEvent
        Case comEvReceive
               If MSComm1.InBufferCount > 6 * bzhi Then
                  MSComm1.InBufferCount = 0
               End If
        If MSComm1.InBufferCount = 6 * bzhi Then
            Buffer = MSComm1.Input
            Buffe = Buffer
            If bzhi = 2 Then
            j = LBound(Head1)
                For i = LBound(Buffe) To UBound(Buffe)
                    Head1(j) = Buffe(i)
                    j = j + 1
                Next i
                    j = LBound(Head1)
                        
                        If Head1(j) = &HEB And Head1(j + 5) = &H90 Then
                          j = j + 6
                            Temp1 = 0
                           For i = 1 To 5
                              Temp1 = Temp1 + Head1(j)
                              j = j + 1
                           Next i
                           a = Head1(j)
                           bzhi = Head1(j - 1)
                           temp2 = Temp1 Mod 256
                             If temp2 = a Then
                                MSComm1.InputLen = bzhi * 6
                                MSComm1.RThreshold = bzhi * 6
                                GoTo ext
                             Else
                                bzhi = 2
                             End If
                        End If
             Else
                        m = LBound(Data)
                        For n = LBound(Buffe) To UBound(Buffe)
                            Data(m) = Buffe(n)
                            m = m + 1
                        Next n
                        MSComm1.RThreshold = 12
                        MSComm1.InputLen = 12
                        bzhi = 2
               End If
         End If
     End Select

End Sub