Dim inbuff() As Byte
Dim x As Integer ''''''''''''''''''''''''''''''''''''''''定义为全局变量,那么x就会记住以前的,反之,若是定义在oncommon里面,每次触发事件都会重新开始
Dim i As Integer
Dim nowstr(30) As Byte
Private Sub Command1_Click()
    Text1 = ""
End SubPrivate Sub Form_Load() 'MSComm1初始化    MSComm1.CommPort = 5
    MSComm1.Settings = "1200,e,8,1"    MSComm1.InBufferSize = 1024    MSComm1.InputMode = comInputModeBinary    MSComm1.RThreshold = 1    MSComm1.PortOpen = True
    MSComm1.OutBufferCount = 0      '清除发送缓冲区
    MSComm1.InBufferCount = 0       '清除接收缓冲区
End Sub
 
Private Sub MSComm1_OnComm()
 
    Dim strHex As String
    Dim ll As Integer
    Select Case MSComm1.CommEvent
        Case 2
          
        MSComm1.InputLen = 0
       
        inbuff = MSComm1.Input
        
        strHex = strHex & Right("0" & Hex(inbuff(0)), 2) & " "
        
        Text1 = Text1 + strHex
         
        nowstr(x) = inbuff(0)
        
        x = x + 1
    
    If Right("0" & Hex(inbuff(0)), 2) = "16" Then xianshi
    
    End SelectEnd Sub
Public Sub xianshi()
   
    Dim vot3 As String
   
    vot3 = (Right("0" & Hex(nowstr(14)), 2)) - 33
    Text2 = vot3
   
End SubPrivate Sub ComCvot_Click()
        Dim OutBuffer() As Byte
        Dim tem As Variant
        Dim e As Integer
        Dim q As Integer
        Dim LenOfText As Integer
        Dim Bvot As String
        Dim ShuruText As String
    Bvot = "6858000000000068010243c33116"
    ShuruText = Bvot
    LenOfText = Len(ShuruText) \ 2 - 1
    ReDim OutBuffer(LenOfText)
   
        q = 0
        For e = 1 To Len(ShuruText) Step 2
            tem = Mid(ShuruText, e, 2)
            OutBuffer(q) = Val("&H" & tem)
                       q = q + 1
              Next
                MSComm1.Output = OutBuffer
                x = 0
End Sub
对于    vot3 = (Right("0" & Hex(nowstr(14)), 2)) - 33这一句,我如何能实现把接受到的bcd码A4和33运算呢?