首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

串口输入有关问题

2012-03-19 
串口输入问题我使用mscomm与机器通讯连接,每次发出读状态命令后,都没反应,需再执行一次发出读状态命令,才

串口输入问题
我使用mscomm与机器通讯连接,每次发出读状态命令后,都没反应,需再执行一次发出读状态命令,才能看到反馈信息
请高手看看是啥问题?

Private Sub Command1_Click()
Dim a As String  
a = "*stat?" & vbCrLf ' 这是查询仪器状态命令,应该回复“STBY”
MSComm.Output = a
Dim i As Integer  
Dim buf$
buf = Trim(MSComm.Input)
If Len(buf) = 0 Then
txtreceive.Text = ""
Else
txtreceive.Text = buf
End If

End Sub

串口设置如下:
MSComm.InBufferSize = 1024 ' 设置接收缓冲区为1024字节
MSComm.OutBufferSize = 512 ' 设置发送缓冲区为4096字节
MSComm.InBufferCount = 0 ' 清空输入缓冲区
MSComm.OutBufferCount = 0 ' 清空输出缓冲区
MSComm.RThreshold = 0  
MSComm.InputLen = 0 ' 每次从接收缓冲区输入所有的字节
MSComm.InputMode = 0 '以字符方式发送

谢谢!

[解决办法]

Dim a As String
Dim i As Integer
Dim buf As String

a = "*stat?" & vbCrLf ' 这是查询仪器状态命令,应该回复“STBY”
MSComm.Output = a

Loop Until MSComm.InBufferCount >= 4

buf = Trim(MSComm.Input)
txtreceive.Text = buf

热点排行