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总是一个字符,为什么加不上呢.每加一次应该多一个字符啊
展开
 我来答
zdingyun
2008-06-13 · 知道合伙人软件行家
zdingyun
知道合伙人软件行家
采纳数:15429 获赞数:48174
1982年上海业余工业大学化工系毕业 现退休

向TA提问 私信TA
展开全部
你的代码目的非常零乱,下列代码能接收文本显示在文本框内:
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
topscyj
2008-06-16 · TA获得超过100个赞
知道小有建树答主
回答量:395
采纳率:0%
帮助的人:212万
展开全部
感觉 strr3 的数据都被重置过 没有进行 叠加
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
c55c55
2008-06-13 · 超过16用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:46.3万
展开全部
strr3 = strr3 & strr2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式