发送16进制数直接发送就可以    Dim vSend As Variant    vSend = &HEF
 
    If MSComm1.PortOpen Then
        MSComm1.Output = vSend
    Else
        MSComm1.PortOpen = True
        MSComm1.Output = vSend
    End If    Do While (MSComm1.OutBufferCount <> 0)
    Loop如果发送的数据是以组为单位,则定义一个 byte 数组。把数组赋值后,把数组头赋值给Variant变量发送就行

解决方案 »

  1.   

    Dim vSend As Variant
        Dim bSend(0 To 5) As Byte            bSend(0) = &H1
                bSend(1) = &H2
                bSend(2) = &H3
                bSend(3) = &H4
                bSend(4) = &H5
                bSend(5) = &H6            vSend = bSend
                If MSComm1.PortOpen Then
                    MSComm1.Output = vSend
                Else
                    MSComm1.PortOpen = True
                    MSComm1.Output = vSend
                End If
                Do While (MSComm1.OutBufferCount <> 0)
                Loop