我现在做一个数据采集系统,在用VB设计上位机时,如何在textbox显示串口接收单片机发来的全部数据?

用以下程序只能显示一个字节的数据,无法保存显示接收的全部数据在接收文本框里PrivateSubMSComm1_OnComm()'有数据传送时触发DimindataAsVa... 用以下程序只能显示一个字节的数据,无法保存显示接收的全部数据在接收文本框里

Private Sub MSComm1_OnComm() '有数据传送时触发

Dim indata As Variant '定义变量
Dim arr(0) As Byte '定义字节数组
Select Case MSComm1.CommEvent ''CommEvent
Case comEvReceive '有接收事件
indata = MSComm1.Input '接收到的数据存放到indata里
arr(0) = AscB(indata) '返回indata的值
Text1.Text = arr(0) '在text1中显示数据
MSComm1.InBufferCount = 0 ' 清空接收缓冲区
End Select
End Sub

麻烦VB高手慷慨相助,帮我修改下程序,或者自己贴上能实现功能的程序,拜谢了!
展开
 我来答
行苑00
2013-03-14 · 超过15用户采纳过TA的回答
知道答主
回答量:87
采纳率:100%
帮助的人:31.5万
展开全部
''''''''''''''''''''''''''''''''''''''请先说明,你是什么方式采集的??字符串??字节??'''''''''''''''''''''''''''''''''''''''''''

Private Sub Form_Load()
On Error GoTo error
With Me.MSComm1
.CommPort = 5
.InputMode = comInputModeText '字符串格式
'.InputMode =comInputModeBinary'字节格式
.PortOpen = True
End With
Exit Sub
error:
MsgBox "...."
MSComm1.PortOpen = False
End
End Sub

Private Sub MSComm1_OnComm()
Dim arr As String
If MSComm1.CommEvent = comEvReceive Then
arr = MSComm1.Input
Text1.Text = arr
MSComm1.Input = 0
End If
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式