我用超级终端读取仪器过的数据正常,但用VB写的程序却读取的是乱码?请大家帮帮忙啦,我星期一要交差啊。
With MSComm1
If .PortOpen = False Then
.Settings = "4800,N,8,1"
.CommPort = iPort
.InputLen = 0
Timer2.Interval = ChkTime
.InputMode = comInputModeText
Timer2.Enabled = True
.PortOpen = True
End If
End With
并在timer2事件中读取com口中的内容,显示在文本框中(显示为乱码),请问应该怎么写才对啊
With MSComm1
If .PortOpen = False Then
.Settings = "4800,N,8,1"
.CommPort = iPort
.InputLen = 0
Timer2.Interval = ChkTime
.InputMode = comInputModeText
Timer2.Enabled = True
.PortOpen = True
End If
End With
并在timer2事件中读取com口中的内容,显示在文本框中(显示为乱码),请问应该怎么写才对啊
dim dummy
dim Comminput1, Comminput2, Comminput3, Comminput4, Comminput5, Comminput6, Comminput7, Cominput8 As Integer '从串口受到的命令的分解数据
Private Sub Form_Load()
call read_arm
end subSub Read_Arm()
ll:
Do
dummy = DoEvents()
Loop Until form1.Comm1.InBufferCount > 0
I_Inter = 0
Comminput = Comm1.Input
If UBound(Comminput) < 6 Then GoTo ll
Comminput1 = Comminput(0) '第一个字节,标准为&HFE
Comminput2 = Comminput(1) '第二个字节,&H3为报警器,&H4为解码器
Comminput3 = Comminput(2) '第三个字节,设备地址号高位
Comminput4 = Comminput(3) '第四个字节,设备地址号低位
Comminput5 = Comminput(4) '第五个字节,回传参数
Comminput6 = Comminput(5) '第六个字节,键盘ID
Comminput7 = Comminput(6) '第七个字节,校验码
form1.text1.text=comminput1+" "+comminput2+" "+comminput3+" "+comminput4+" "+comminput5+" "+comminput6+" "+comminput7
Private Sub MSComm2_OnComm()
Dim str As String
Select Case MSComm2.CommEvent
Case comEvReceive
MSComm2.InputMode = comInputModeBinary
Dim i, j As Integer
j = MSComm2.InBufferCount
ReDim buffer(0 To j - 1)
buffer = MSComm2.Input
For i = 0 To j - 1
If startcommunication = 1 Then
buffertem(buffercount) = buffer(i)
buffercount = buffercount + 1
End If
Next i
End Select
End Sub
其中mscomm控件的inbuffersize设置为1,outbuffersize设置为1,RThreshold为1
我的软件用这个通讯很好用