本帖最后由 zhlok520 于 2010-9-11 17:59 编辑
Dim data as Variant
MSComm1.Inputmode=1 '二进制模式
data=Chr("&H" & F) & Chr("&H" & F)
MSComm1.Output=data
Dim inbyte() as Byte
inbyte=MSComm1.Input
Dim i as Integer, uffer as Variant
For i =LBound(inbyte) To UBound(inbyte)
buffer=buffer+Hex(inbyte(i))
Next i
程序如上,请教问题如下:
1:LBound(inbyte)=? UBound(inbyte)=?
2: inbyte(i)=?
本人不理解, FF是16进制,二进制为:11111111
那么LBound=1, UBound=8?
还是一个Byte=8bits,LBound=1, UBound=2,
inbyte(1)=11110000,inbyte(2)=11110000 //前后F补0成8位。
Hex(inbyte(1))=F0,Hex(inbyte(2))=F0,
Buffer=F0F0, 这跟我的执行结果FF,也不一样啊。
又或者,LBound=1, UBound=1
inbyte(1)=11111111,Hex(inbyte)=FF,这样就和执行结果一样了。
请高手指点,小弟是新手,请不要见笑啊 呵呵 |