1字节发送子程序:
Public Sub Sendbit(ByVal a As Integer) ;a为要发送的单字节数据
If a > 255 Then
a = 255
End If
If a < 0 Then
a = 0
End If
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True
End If
Dim mm(0 To 0) As Byte
mm(0) = a
MSComm1.OutBufferCount = 0
MSComm1.InBufferCount = 0
If MSComm1.PortOpen = True Then
MSComm1.Output = mm()
Else
MSComm1.PortOpen = True
MSComm1.Output = mm()
End If
End Sub
/////////////////////////////////////////////////////////
n字节接收子程序:
Private Sub MSComm1_OnComm()
Dim Buffer As Variant
Dim R(0 To n) As Integer ;n为接收字节数
j = 0
Buffer = MSComm1.Input
For il = LBound(Buffer) To UBound(Buffer)
R(j) = Buffer(il)
j = j + 1
Next il
j = 0
Dim R0 As Integer
Dim R1 As Integer
Dim R2 As Integer
Dim R3 As Integer
.
.
.
Dim Rn As Integer
R0 = R(0) ;首字节
R1 = R(1)
R2 = R(2)
R3 = R(3)
.
.
.
Rn = R(n) ;末字节
End Sub
////////////////////////////////////////////////////
MSCOMM控件设置:
commport :1~2
DTREnable :true
EOFEnable :false
Handshaking :0-comNone
InBufferSize :1024
InputLen :0
InputMode :1
NullDiscard :false
OutBufferSize :512
ParityReplace :0
RThreshold :1
RTSEnable :false
Settings :9600,n,8,1
SThreshold :1
评论0