您现在所在的是:

电脑编程

回帖:5个,阅读:2013 [上一页] [1] [下一页]
911
paul_sunrise
文章数:2
年度积分:50
历史总积分:911
注册时间:2005/4/2
发站内信
发表于:2005/5/31 15:27:00
#0楼
我接受的是十六进制数据,所以INPUTMODE定义为1,因为书上说INPUT属性不能直接赋值给字节数组,所以我定义了一个Variant的变量来接受数据,再赋给字节数组。但是i程序i运行总停在IF语句这里,并报下标越界,我参考过别人的程序都直接赋值字节数组,所以我搞不懂了,请各位老师指教。

以下是程序,请帮我看看



Public Sub read_data()
 Dim zhancun1, zhancun2 As Integer
 Dim shuju As Variant
 Dim Time_out, I As Integer
 Dim ERROR_COM  As Boolean
 Dim send(3) As Byte
 Dim shuju1() As Byte
 MSComm1.InBufferCount = 0 'clear off  inbuffer
send(0) = &HFB: send(1) = &H1: send(2) = ((&HFB Xor &H1) And &H7F): sen(3) = &HFE
   MSComm1.Output = send
  '判断通讯错误
   Do
   DoEvents
   Loop Until (MSComm1.InBufferCount >= 6)
  shuju = MSComm1.Input
shuju1 = shuju
  If Val(shuju1(0)) = Val(&HF0) And Val(shuju1(1)) = Val(&H1) Then
     zhancun1 = shuju(3) '取出数据位
     zhancun2 = shuju(4)
     Elevator.floor = Revert(zhancun1)
     Call explain(zhancun2)
     End If
  Call display_data1
End Sub
9012
吴辉
文章数:2351
年度积分:50
历史总积分:9012
注册时间:2002/1/15
发站内信
发表于:2005/6/12 22:49:00
#1楼
Dim shuju1() As Byte
shuju1 = shuju
If Val(shuju1(0)) = Val(&HF0) And Val(shuju1(1)) = Val(&H1) Then

绝对错!
940
cqzhoumang
文章数:19
年度积分:50
历史总积分:940
注册时间:2005/7/19
发站内信
发表于:2005/9/20 20:33:00
#2楼
支持顶楼的!
1021
yugaoxin
文章数:48
年度积分:50
历史总积分:1021
注册时间:2005/9/16
发站内信
发表于:2005/9/22 19:31:00
#3楼
ni de yu ju ying gai you hen du wen ti.
1021
yugaoxin
文章数:48
年度积分:50
历史总积分:1021
注册时间:2005/9/16
发站内信
发表于:2005/9/22 19:32:00
#4楼
应该有很多问题。
1064
yjukh
文章数:46
年度积分:50
历史总积分:1064
注册时间:2005/8/18
发站内信
发表于:2005/10/19 17:03:00
#5楼
告诉你一种我调试的心得:

VB中有一种Byte数据类型,每个Byte只占一个字节,数值范围也为0~255,可见,这种Byte型变量与单片机中的字节是一致的。所以发送和接收数据时可用Byte型,但在实验中却发现,使用该变量必须小心。使用Output和Input指令时只能用数组形式操作,即先定义一个Byte型数组,若要发送,可将数据赋值给该数组的各个指针,发送时只需用该数组的名称,整个数组的数据即可发送。
如:    Dim temp(0 To 1) As Byte
       temp(0) = &HFF
       temp(1) = &HFE
       Comm1.Output = temp
执行如上指令即可完成发送。接收数据时也类似,只需先定义好数据,再执行一条:temp=Comm1.Input即可完成接收。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005