我现在是用2进制的数发送和接受
比如,发送的是mscomm1.output=trim("00000010")这样数
发送接受模式是2进制的
那么我接受的时候RThreshold设置多少?如果设置是1的话,是指1个字符还是1个字节??
而我这样发送的8位数算是8个字符呢还是1个字节???
如果这8位只是开始位,还有数据位也是8位,那么inputlen设置也是这个问题,是设置多少呢》?请大家帮帮我!!!!
比如,发送的是mscomm1.output=trim("00000010")这样数
发送接受模式是2进制的
那么我接受的时候RThreshold设置多少?如果设置是1的话,是指1个字符还是1个字节??
而我这样发送的8位数算是8个字符呢还是1个字节???
如果这8位只是开始位,还有数据位也是8位,那么inputlen设置也是这个问题,是设置多少呢》?请大家帮帮我!!!!
InputLen = 8循环等到InBufferCount = 8时开始接收。
MSComm1.CommPort = 1 '采用COM端口
MSComm1.InputMode = comInputModeBinary '采用二进制传输 !!!
MSComm1.NullDiscard = False 'NULL字符从端口传送到接受缓冲区
MSComm1.DTREnable = False 'DTR线无效
MSComm1.EOFEnable = False '不寻找EOF符
MSComm1.RTSEnable = False 'RTS线无效
MSComm1.InBufferCount = 0 '清空接受缓冲区
MSComm1.OutBufferCount = 0 '清空传输缓冲区
MSComm1.SThreshold = 1 '如果传输缓冲区完全空时产生MSComm事件
MSComm1.RThreshold = 1 '获得一个字节则产生MSComm事件
MSComm1.InBufferSize = 1024 Dim MyArray(0 To 6) As Byte '这是我做的系统的一段代码
Dim strBCD As String
strBCD = Trim(Format(lngNum, "00000"))
MyArray(0) = &HAC
MyArray(1) = Val(Mid(strBCD, 1, 1)) * 16 + Val(Mid(strBCD, 2, 1))
MyArray(2) = MyArray(1)
MyArray(3) = Val(Mid(strBCD, 3, 1)) * 16 + Val(Mid(strBCD, 4, 1))
MyArray(4) = MyArray(3)
MyArray(5) = Val(Mid(strBCD, 5, 1)) * 16 + Val(ErrNo.StrNum)
MyArray(6) = MyArray(5)
If bCommFlag = False Then
MSComm1.Output = MyArray '发送车位数据到大屏
End If
Dim OutLinkCommandInfo As Byte '//联络信号"?"
OutLinkCommandInfo = &H3F '// 联络信号"?"
If MSComm.PortOpen = False Then '// 打开端口
MSComm.PortOpen = True
End If
MSComm.Output = OutLinkCommandinfo'//本条报错“无效属性”
end sub
那为什么我的总是最后一条语句报错