请教一个关于mscomm的问题

zhangwh6882 2002-08-17 09:44:16
用mscomm接收二进制信息,InputMode=1,RThreshole=1.每次应该从缓存区读取8个字节。但现在每当每天第一次开机,接收信息时第一次会直接读取12个字节(我需要读取的命令是12个字节的)。请问这种现象是什么原因造成的,怎样解决?
...全文
12 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lastcsdn2166 2002-08-17
你试试,
清除一下缓冲区
mscomm.InBufferCount =0
你这个问题我没实际看到,所以也回答不了什么
回复
zhangwh6882 2002-08-17
页面有错误,发重了
回复
zhangwh6882 2002-08-17
代码在下面,请帮我看一下
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.RThreshold = 1
MSComm1.PortOpen = True

End Sub

Private Sub MSComm1_OnComm()
Dim i%


inbyte = MSComm1.Input
For i = LBound(inbyte) To UBound(inbyte)


buf = buf + Hex(inbyte(i)) + Chr(32)

Next i

buf = buf & vbCr & "i=" & i & vbCrLf
'将每次读取的命令输出到文本框,并输出本次读取的字节数(i)
Text1.Text = buf
End Sub
回复
zhangwh6882 2002-08-17
代码在下面,请帮我看一下
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.RThreshold = 1
MSComm1.PortOpen = True


End Sub

Private Sub MSComm1_OnComm()
Dim i%


inbyte = MSComm1.Input
For i = LBound(inbyte) To UBound(inbyte)


buf = buf + Hex(inbyte(i)) + Chr(32)

Next i

buf = buf & vbCr & "i=" & i & vbCrLf
'每次读取命令结束后输出命令到Text1.Text,并输出i的值(读取的字节数)
Text1.Text = buf
End Sub
回复
lastcsdn2166 2002-08-17
能把你的代码写出来吗
要不怎么能知道错在哪呢
回复
发帖
VB基础类
创建于2007-09-28

7476

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2002-08-17 09:44
社区公告
暂无公告