如何在Visual Studio 2015中使用VisualBasic作为主要编程语言来管理串行连接

电子说

1.2w人已加入

描述

步骤1:创建一个新的VisualStudio项目。

软件

选择 新项目。.. 》》 Visual Basic 》 Windows窗体应用程序。

键入一些名称,然后单击 确定。

步骤2:调整表单大小。

软件

抓住一个角并调整大小,例如,在图片里。

步骤3:更改背景色。

软件

要使所有内容美观,请在属性中菜单,将 BackColor 更改为 Window 。

步骤4:添加4个组件。

软件

添加:

1x GroupBox

1x ComboBox

2x按钮

在这些组件中键入任何名称和文本,但是在编程时请小心!

步骤5:添加SerialPort-Module

软件

在工具窗口中,添加一个名为 SerialPort 的组件。

步骤6:双击表单。

软件

您将看到,将打开一个新选项卡。

第7步:添加一些代码。

软件

将以下代码添加到项目中像上面的图片一样。

For Each AvailableSerialPorts As String In SerialPort1.GetPortNames()

ComboBox_AvailableSerialPorts.Items.Add(AvailableSerialPorts)

SerialPort1.ReadTimeout = 2000

Button_Connect.Visible = True

Button_Disconnect.Visible = False

Next

请确保将其放入我们通过双击窗体创建的Private Sub-Loop中。

确保为组件选择正确的名称。

步骤8:双击连接按钮

软件

双击在连接按钮上。您会看到,您将在代码中添加一个新的 Private Sub -循环。

在上图中,我们添加的每个新代码都将标记为蓝色。

第9步:添加两行代码。

软件

在您的 Private Sub 中添加以下两行代码-您的 Connect -Button循环。

SerialPort1.BaudRate = “9600”

SerialPort1.PortName = ComboBox_AvailableSerialPorts.SelectedItem

并且像往常一样,不要忘记为组件选择正确的名称。

步骤10:添加另一行代码。

软件

在表单的Private Sub-Loop内,添加以下代码:

ComboBox_AvailableSerialPorts.Text = AvailableSerialPorts

这可以防止用户在未选择端口的情况下连接到串行端口。它总是选择最后一个可用的串行端口,但是当我们完成操作后,您将在以后看到它。

步骤11:添加2行。

软件

为连接-按钮指示您专用子,添加以下代码行:

Button_Connect.Visible = False

Button_Disconnect.Visible = True

第12步:添加IF语句。

软件

在您的私有子内部-再次循环显示连接按钮 》,添加 if语句。

If SerialPort1.IsOpen = False Then

SerialPort1.Open()

End If

此语句将打开串行端口。但是,仅当尚未连接时。

步骤13:双击“断开连接”按钮。

软件

VisualBasic将自动添加这些新的代码行。

第14步:设置“断开连接”按钮。

软件

在您的私人子区域-为 Disconnect-Button 循环,添加以下代码:

If SerialPort1.IsOpen = True Then

SerialPort1.Close()

End If

Button_Connect.Visible = True

Button_Disconnect.Visible = False

这只会关闭SerialPort(如果已打开)。

此外,它启用了“连接按钮”并再次禁用了“断开按钮”,以便您可以再次连接到另一个或相同的串行端口。

第15步:添加文本框。

软件

添加文本框,然后在属性菜单下,更改多行更改为 True 。

步骤16:添加计时器

软件

工具-菜单,添加一个名为 Timer 的模块。

步骤17:更改计时器间隔。

软件

在属性》》间隔下,将间隔更改为 100 ,因此它每100毫秒滴答一次。

步骤18:添加另一行代码。

软件

让我们进入 Private Sub (内部)-为您的 Form循环,并添加一行代码:

TextBox_ReceivedMessage.ScrollBars = ScrollBars.Vertical

在这一行中,我们向您的TextBox添加了一个滚动条,以便您查看全部

步骤19:启用和禁用计时器

软件

软件

在私有下Sub -循环显示 Connect -按钮,启用计时器:

Timer1.Enabled = True

并在 Private Sub 下-循环对于断开连接-按钮,禁用计时器:

Timer1.Enabled = False

步骤20:双击计时器并添加一些代码。

软件

双击 计时器,并将以下代码添加到您的私人子中-循环计时器:

If SerialPort1.IsOpen = True Then

Dim ReceivedMessage As String

ReceivedMessage = SerialPort1.ReadLine

TextBox_ReceivedMessage.Text = TextBox_ReceivedMessage.Text + ReceivedMessage + Environment.NewLine

TextBox_ReceivedMessage.SelectionStart = TextBox_ReceivedMessage.Length

TextBox_ReceivedMessage.ScrollToCaret()

End If

首先,我们检查SerialPort是否打开。如果是这样,我们将创建一个名为ReceivedMessage的新字符串,其中包含来自串行端口的消息。

然后,将文本添加到TextBox。来自TextBox的旧文本应保留在此处,添加来自String的内容,并将创建新行。

最后,TextBox将自动滚动最新的输入,因此我们将始终

步骤21:打开您的杰作。

软件

打开在VisualStudio的右上角,单击开始 [或绿色的播放按钮] 以启动程序。

但是请不要

步骤22:给串行设备做点事情。

软件

我使用Arduino UNO。

像上面的图片一样对它进行编程。

我在codebender.cc中做到了,但是您也可以在Arduino IDE或任何其他IDE中做到这一点。

!! 小心!请勿将延迟更改为大于100毫秒的任何数字。如果这样做,则必须在中更改计时器的 Interval 当然,VisualStudio !

但是,在Arduino内部,您可以键入任何小于100的数字,而无需更改VisualStudio中的间隔。

表示: Visual Studio中的计时器的时间间隔不得低于Arduino的延迟。但是允许更高。

而且:除以下端口外,请勿连接到任何其他串行端口到您的Arduino,或完全删除或取消计时器的私有子。但是,如果这样做,您将无法再接收任何SerialData。

因为如果SerialPort-Module无法从SerialPort读取任何数据,则程序将进入运行时异常。

p》

如果这样做,只需关闭程序,然后再次打开它,然后连接到正确的串行端口。

当然,如果愿意,可以防止此错误(例如

几天后,我将为VisualStudio和Arduino之间的高级串行通信创建另一个教程。

第23步:继续并测试您的程序。

软件

对其进行测试,并在必要时添加一些代码行或删除一些代码

责任编辑:wv 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分