请教一个关于mscomm的问题

zhangwh6882 2002-08-17 09:44:16
用mscomm接收二进制信息,InputMode=1,RThreshole=1.每次应该从缓存区读取8个字节。但现在每当每天第一次开机,接收信息时第一次会直接读取12个字节(我需要读取的命令是12个字节的)。请问这种现象是什么原因造成的,怎样解决?
...全文
31 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
能把你的代码写出来吗
要不怎么能知道错在哪呢

7,764

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧