串口问题,有什么软件能把接收到的串口信息转发到另一个串口上去
有什么软件能把接收到的串口信息转发到另一个串口上去
或者有什么例子。
[解决办法]
简单的方法,你可做根专用设备线,用3个RS232接口,其中2个互相并联接线,另一个与之按2 3脚交叉接线,3个RS232的5脚联接一起。各自的4 6及7 8脚互接。这根连接线分别与相应的串口接好,就能完成你的任务。无须用软件接收和转发。
[解决办法]
实现起来其实很简单。以前写过一个ComXRay的程序,除了转发两个串口之间的数据通讯之外,还能把数据显示出来便于分析。
下面的代码节选自ComXRay(原来一些可选择的参数改为常量了):
Private Sub cmdConnect_Click() '连接/断开
If cmdConnect.Caption = "连接 " Then
comCOM1.CommPort = 1
comCOM1.Settings = "9600,N,8,1 "
comCOM1.Handshaking = comNone
comCOM1.InputLen = 0
comCOM1.PortOpen = True
comCOM1.InputMode = comInputModeBinary
comCOM1.RThreshold = 1
comCOM1.SThreshold = 1
comCOM2.CommPort = 2
comCOM2.Settings = "9600,N,8,1 "
comCOM2.Handshaking = comNone
comCOM2.InputLen = 0
comCOM2.PortOpen = True
comCOM2.InputMode = comInputModeBinary
comCOM2.RThreshold = 1
comCOM2.SThreshold = 1
cmdConnect.Caption = "断开 "
Else
comCOM1.PortOpen = False
comCOM2.PortOpen = False
cmdConnect.Caption = "连接 "
End If
end Sub
Private Sub comCOM1_OnComm()
Dim S As Variant
Select Case comCOM1.CommEvent
Case comEvReceive
'转发到COM2
S = comCOM1.Input
comCOM2.Output = S
'此处可以设计一个函数来显示S的内容
End Select
End Sub
Private Sub comCOM2_OnComm()
Dim S As Variant
Select Case comCOM2.CommEvent
Case comEvReceive
'转发到COM1
S = comCOM2.Input
comCOM1.Output = S
'此处可以设计一个函数来显示S的内容
End Select
End Sub