VB 串口接收不到数据(急!)
VB与单片机的通信
运行结果Text1 , Text2 接收到“A”,Text3 却没有收到,即使多发几个也一样没收到,请各位高手帮帮小弟,感激不尽!!(程序如下)
单片机发送用MATLAB仿真过,没有问题
Dim str_buff As String
Private Sub rungo_click()
If MSC.PortOpen = False Then
MSC.InputMode = comInputModeText '文本接收
MSC.Settings = "4800,n,8,1" '设置波特率4800,无校验,8位数据位,1位停止位
MSC.InputLen = 0 '一次读出输入缓冲区中的所有数据
MSC.InBufferCount = 0 '清空接收缓冲区
MSC.OutBufferCount = 0 '清空发送缓冲区
MSC.OutBufferSize = 512 '发送缓冲区字节
MSC.RThreshold = 0 '不触发OnComm()事件
MSC.PortOpen = True '打开COM1
End If
Call runstart
End Sub
Private Sub runstart()
MSC.Output = addr '一段 BYTE 数据(2字节)
Call comEvent
Text1= str_buff '显示接收到的“A”
MSC.Output = hexdata '一段 BYTE 数据(512字节)
Call comEvent
Text2 = str_buff '显示接收到的“A”
MSC.Output = hexdata2 '一段 BYTE 数据( < 512字节)
Call comEvent
Text3 = str_buff '显示接收到的“A”
MSC.PortOpen = False '关闭com1
End Sub
Private Sub comEvent()
Do
'MSC.InputLen = 1 '接收一个字节
DoEvents
str_buff = MSC.Input
Loop Until str_buff = "A" '当接收到"A"继续发送下一段
MSC.InBufferCount = 0 '清空接收缓冲区
MSC.OutBufferCount = 0 '清空发送缓冲区
End Sub