首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB6中的串行通信

VB6中的串行通信
EN

Stack Overflow用户
提问于 2015-03-25 17:17:57
回答 1查看 4.5K关注 0票数 1

我是vb6和通讯应用程序的新手,我试着运行一个在两个串口之间传输和接收数据的例子(我用com0com软件安装了两个串口)。

在本例中,我希望用户在textbox1中键入charracters,然后单击命令按钮,然后在textbox1显示中输入textbox2中的charracter。

代码语言:javascript
复制
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?或者任何建议!

谢谢你的阅读!

EN

回答 1

Stack Overflow用户

发布于 2015-03-25 21:05:25

我认为你需要更仔细地查看文档。

下面是一个最小的示例,其中COM3/COM4是我的机器上的环端口:

代码语言:javascript
复制
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 Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29262250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档