我是在用VB 编一个上位机软件,串口通信,现在的问题是,运行到某一步就提示下标越界, 5
PrivateSubMSComm1_OnComm()DimpAsIntegerDimindataAsVariantDimxxAsByteSelectCaseMSComm1...
Private Sub MSComm1_OnComm()
Dim p As Integer
Dim indata As Variant
Dim xx As Byte
Select Case MSComm1.CommEvent
Case comEvReceive
indata = MSComm1.Input
xx = indata(0)
If xx = 111 Then
MsgBox "收到数据!"
MSComm1.RThreshold = 0
For p = 0 To 167
indata = MSComm1.Input
xx = indata(0) “就是这一行提示下标越界”
data1(p) = xx
Next p
End If
MSComm1.RThreshold = 1
End Select
End Sub 展开
Dim p As Integer
Dim indata As Variant
Dim xx As Byte
Select Case MSComm1.CommEvent
Case comEvReceive
indata = MSComm1.Input
xx = indata(0)
If xx = 111 Then
MsgBox "收到数据!"
MSComm1.RThreshold = 0
For p = 0 To 167
indata = MSComm1.Input
xx = indata(0) “就是这一行提示下标越界”
data1(p) = xx
Next p
End If
MSComm1.RThreshold = 1
End Select
End Sub 展开
3个回答
展开全部
byte 装不下,把xx 的字节类型换一个大点的数据类型!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-11-20
展开全部
indata 是数组??
推荐看书
Visual_Basic与_RS-232_串行通信控制
推荐看书
Visual_Basic与_RS-232_串行通信控制
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
出错的代码贴一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询