VB串口怎么一次接收3个字节数据

单片机不定时的发送3个字节的数据,二进制方式发送,用VB怎么一次性接收3个数据,放在Revdat(0)~Revdat(2)里呢?怎么分别对三个数处理成10进制数,再显示在... 单片机不定时的发送3个字节的数据,二进制方式发送,用VB怎么一次性接收3个数据,放在Revdat(0)~Revdat(2)里呢?怎么分别对三个数处理成10进制数,再显示在text1.text里呢?

Private Sub Form_Load() '初使化
MSComm.CommPort = 1 '设置并返回通讯端口号1
MSComm.Settings = "1200,N,8,1" '波特率、奇偶校验、数据位、停止位
MSComm.RThreshold = 1 '接收缓冲区收到每一个字符都会使 MSComm 控件产生 OnComm 事件
MSComm.InBufferSize = 1024 '设置接收缓冲区的字节长度
MSComm.InBufferCount = 0 '清除发送缓冲区数据
MSComm.OutBufferCount = 0 '清除接收缓冲区数据
MSComm.InputLen = 3 '设置并返回 Input 属性从接收缓冲区读取的字符数
MSComm.InputMode = 1 '以二进制方式接收comInputModeBinary
MSComm.PortOpen = True '打开串口End Sub
End Sub
我还是不会做,我想定义一个数组A()把收到的第一二三个数据放在数组A(0)A(1)A(2)里面,把收到的数据用ASC()函数处理后再存,这样怎么样做?

楼下二位兄弟提到的方案我都没有调试出来,我还是初学者,搞不不定太清楚怎么样做.老提示错误
展开
 我来答
zdingyun
2008-04-17 · 知道合伙人软件行家
zdingyun
知道合伙人软件行家
采纳数:15429 获赞数:48173
1982年上海业余工业大学化工系毕业 现退休

向TA提问 私信TA
展开全部
Option Explicit
Dim inData As String
Dim a() As Byte

Private Sub Form_Load()
MSComm1.Settings = "1200,n,8,1"
MSComm1.InBufferSize = 1024
MSComm1.OutBufferSize = 512
MSComm1.InBufferCount = 0 '清除发送缓冲区数据
MSComm1.OutBufferCount = 0 '清除接收缓冲区数据
MSComm1.RThreshold = 3
MSComm1.InputMode = comInputModeBinary '二进制接收
MSComm1.PortOpen = True
End Sub

Private Sub MsComm1_OnComm()
Dim intInputLen As Integer
Dim i As Integer
Select Case MSComm1.CommEvent
Case comEvReceive
'此处添加处理接收的代码
intInputLen = MSComm1.InBufferCount
ReDim a(intInputLen)
a = MSComm1.Input
For i = 0 To UBound(a)
If Len(Hex(a(i))) = 1 Then
inData = inData & "0" & Hex(a(i))
Else
inData = inData & Hex(a(i))
End If
Next
If Len(inData) = 6 Then
Text1 = a(0) & " " & a(1) & " " & a(2) '10进制
Text2 = inData '16进制
inData = ""
End If
End Select
End Sub
wjjsuda
2008-04-27 · TA获得超过422个赞
知道小有建树答主
回答量:966
采纳率:0%
帮助的人:360万
展开全部
或者在MsComm1_OnComm事件中设置静态变量
dim a(3) as integer
static k as integer ,s as string
if k <3 then
k = k +1
a(k) = asc(MSComm1.Input)
else
k = 0
end if
每次接收自加1
当接受3次则清零一次,并将数据送出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式