mscomm控件的串口数据传送问题? 急......
我在用mscomm控件编串口通信时,遇到这样一个问题,
把缓冲区内的字节数赋给一个整型变量时,变量bufcount得到
的值与缓冲区内的字节数MSComm1.InBufferCount的值不相同,
变量bufcount得到的是8的倍数,
请赐教,源代码如下:
Private Sub Form_Load()
If MSComm1.PortOpen Then
MSComm1.PortOpen = False 'close port
End If
' MSComm1.SThreshold = 1 '清空发送缓冲区
MSComm1.CommPort = 1
MSComm1.RThreshold = 1
MSComm1.PortOpen = True
strxian = ""
End Sub
Private Sub MSComm1_OnComm() ’触发mscomm控件
'定义变量
Dim strxian As String
Dim i As Integer
Dim bufcount As Integer
Dim buffer As Variant
Dim arr() As Byte
Select Case MSComm1.CommEvent
Case comEvReceive '收到RThreshold个字节产生的接收事件
bufcount = MSComm1.InBufferCount'获得已接收的字符数
’问题在上一句产生!!!!
MSComm1.InputLen = 0
buffer = MSComm1.Input
ReDim arr(40)
arr = buffer
For i = 0 To bufcount - 1
strxian = strxian + Chr(arr(i))’转换成字符
Next i
Text1.Text = strxian ’显示
End Select
End Sub