我是vb6和通讯应用程序的新手,我试着运行一个在两个串口之间传输和接收数据的例子(我用com0com软件安装了两个串口)。
在本例中,我希望用户在textbox1中键入charracters,然后单击命令按钮,然后在textbox1显示中输入textbox2中的charracter。
Private Sub Command1_Click()
com1.Output = Text1.Text
End Sub
Private Sub Form_Load()
com1.CommPort = 1
com1.Settings = "9600,n,8,1"
com1.PortOpen = True
com2.CommPort = 2
com2.Settings = "9600,n,8,1"
com2.PortOpen = True
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub com2_OnComm()
If com2.CommEvent = comEvReceive Then
Text2.Text = Text2.Text + com2.Input
End If
End Sub我在示例中筛选了form,并在com0com端口中设置,我没有发布图像的声誉,所以我将其上传到flickr。
b.jpg
但是,当我试图通过textbox1中的charracters类型并单击按钮来运行这个示例时,什么都没有发生。
那我做错什么了?如果是这样,我如何从com1端口获取数据到com2port?或者任何建议!
谢谢你的阅读!
发布于 2015-03-25 21:05:25
我认为你需要更仔细地查看文档。
下面是一个最小的示例,其中COM3/COM4是我的机器上的环端口:
Option Explicit
Private Sub Command1_Click()
If Len(Text1.Text) > 0 Then
MSComm1.Output = Text1.Text
Text1.Text = vbNullString
End If
Text1.SetFocus
End Sub
Private Sub Form_Load()
With MSComm1
.CommPort = 3
.Settings = "256000,n,8,1"
.Handshaking = comNone
.SThreshold = 0 'No events after send completions.
.RThreshold = 0 'No events after receive completions.
.PortOpen = True
End With
With MSComm2
.CommPort = 4
.Settings = "256000,n,8,1"
.EOFEnable = False
.Handshaking = comNone
.InputMode = comInputModeText
.RThreshold = 1 'Event for each character received. Terribly
'inefficient but if char-by-char events are
'required there isn't much choice.
.SThreshold = 0 'No events after send completions.
.PortOpen = True
End With
End Sub
Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False
MSComm2.PortOpen = False
End Sub
Private Sub MSComm2_OnComm()
With MSComm2
If .CommEvent = comEvReceive Then
.InputLen = 0
Text2.SelStart = &H7FFF
Text2.SelText = .Input
End If
End With
End Subhttps://stackoverflow.com/questions/29262250
复制相似问题