VB串口接受数据
PrivateSubMSComm1_OnComm()Dimstr1,strr2,strr3AsString'接收到的字符串strr2=MSComm1.InputIfstr...
Private Sub MSComm1_OnComm()
Dim str1, strr2, strr3 As String '接收到的字符串
strr2 = MSComm1.Input
If strr2 = "<" Then
strr3 = strr2
Else
strr3 = strr3 + strr2
End If
If strr2 = ">" And Len(strr3) = 2 Then
str1 = strr3
If BlnOpenOutCom = True And Me.MSComm2.PortOpen = True Then
Me.MSComm2.Output = str1
End If
LonInBufCountFlag = 0
End If
End Sub
为什么程序运行到 strr3 = strr3 + strr2 的时候strr3总是一个字符,为什么加不上呢.每加一次应该多一个字符啊 展开
Dim str1, strr2, strr3 As String '接收到的字符串
strr2 = MSComm1.Input
If strr2 = "<" Then
strr3 = strr2
Else
strr3 = strr3 + strr2
End If
If strr2 = ">" And Len(strr3) = 2 Then
str1 = strr3
If BlnOpenOutCom = True And Me.MSComm2.PortOpen = True Then
Me.MSComm2.Output = str1
End If
LonInBufCountFlag = 0
End If
End Sub
为什么程序运行到 strr3 = strr3 + strr2 的时候strr3总是一个字符,为什么加不上呢.每加一次应该多一个字符啊 展开
展开全部
你的代码目的非常零乱,下列代码能接收文本显示在文本框内:
Option Explicit
Dim strr2 As String
Private Sub Form_Load()
MSComm1.Settings = "9600,N,8,1"
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeText
MSComm1.PortOpen = True
Text1 = ""
End Sub
Private Sub MSComm1_OnComm()
Dim str1 As String
Select Case MSComm1.CommEvent
Case 2
str1 = MSComm1.Input
strr2 = strr2 & str1
Text1 = strr2
'写数据处理代码
End Select
End Sub
Option Explicit
Dim strr2 As String
Private Sub Form_Load()
MSComm1.Settings = "9600,N,8,1"
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeText
MSComm1.PortOpen = True
Text1 = ""
End Sub
Private Sub MSComm1_OnComm()
Dim str1 As String
Select Case MSComm1.CommEvent
Case 2
str1 = MSComm1.Input
strr2 = strr2 & str1
Text1 = strr2
'写数据处理代码
End Select
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
感觉 strr3 的数据都被重置过 没有进行 叠加
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
strr3 = strr3 & strr2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询