为什么老是说“下标越界”?
我想把从串口取进来的十六进制数放到文本框显示,比如:FF CD AD 23 45 00 00 00 23 进来一共9个字节,显示其中8个
我现在的问题是从串口读数据是正常的可是下面程序再运行时老显示“下标越界”,可是我用断点运行可以通过,不知为什么?
dim ab(10) as byte
dim CHAR(10) as string
dim av as variant
dim i as integer
If ab(1) = &HFC Then ;从串口的第一个字节,表明该执行什么任务
with mscomm1
CHAR(0) = ""
For i = 0 To 7 Step 1 ;循环从串口读数据,存入ab()
av = .Input ;我在这里设置断点,然后运行可以通过
ab(i) = av(0) ;!!!这个地方老给我显示下标越界
Next
For i = 0 To 7 Step 1
CHAR(0) = CHAR(0) & str(ab(i)) & " " ;把数据以”20 23 56 15“格式显示
Next
Text6.Text = CHAR(0)
End If
还有个问题是如果我把dim av as variant改为dim av() as variant,为什么会显示类型不匹配。
取进来的字节数是对的,我已经用串口测试工具测过。
新手上路,麻烦大家多多照顾!!!