0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:网络整理 作者:网络整理 2019-11-18 11:31 次阅读

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

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

选择 新项目。.. 》》 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

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

    关注

    69

    文章

    4691

    浏览量

    87079
  • VisualBasic
    +关注

    关注

    0

    文章

    6

    浏览量

    6695
收藏 人收藏

    评论

    相关推荐

    plc的编程语言主要有哪三种

    PLC(可编程逻辑控制器)的编程语言多种多样,但其中最为常用和广泛认知的三种主要编程语言是梯形图
    的头像 发表于 10-21 17:04 439次阅读

    求助,请问如何在RTOS SDK 1.5的PlatformIO IDE ESP8266实现MQTT?

    is not supported by PlatformIO IDE in Visual Studio Code) 现在,我的ESP8266已成功连接到移动热点作为工作站模式。但是
    发表于 07-08 06:22

    请问cmakelists的变量如何在程序中使用?

    大家好, 我有个问题请教,cmakelists.txt的变量如何在程序中使用?比如以下cmakelists.txt文件的PROJECT_VER变量,我如
    发表于 06-11 07:34

    何在没有安装visual studio或EZ-USB FX3 SDK的win10电脑上使用FwDownloadApp.exe?

    ~2022 版 VC_redist.x64.exe) 然而,问题依然存在。 有什么好办法吗? 如果没有办法,请向我解释如何在 Visual Studio 重建该项目并将 msvc
    发表于 05-30 08:31

    STM32CubeMX如何在*.c源文件中使用c++特性?

    开发环境:Visual Studio 2015 + VisualGDB (编译器为arm-eabi GCC 7.2.0)+ STM32CubeMX c与c++混合编程情况下,*.c文件
    发表于 04-25 06:15

    用Cubeprogrammer的API串口,Visual Studio环境设置按说明书配置的,编译有错误的原因?

    用Cubeprogrammer的API 串口,Visual Studio环境设置按说明书配置的,编译还是有错误,有知道问题的吗?
    发表于 03-29 08:46

    fpga用的是什么编程语言 fpga用什么语言开发

    fpga用的是什么编程语言 FPGA(现场可编程逻辑门阵列)主要使用的编程语言是硬件描述
    的头像 发表于 03-14 17:09 3234次阅读

    何在测试中使用ChatGPT

    Dimitar Panayotov 在 2023 年 QA Challenge Accepted 大会 上分享了他如何在测试中使用 ChatGPT。
    的头像 发表于 02-20 13:57 709次阅读

    Simplicity Studio 5扩增功能支持以VS Code开发

    应用程序开发的支持。此一功能扩展可让开发人员在VSCode生态系统构建、刷新和调试。用户可以使用VS Code作为主要的IDE,同时仍然能够使用熟悉和喜爱的项目配置图形界面。在Simplicity Studio
    的头像 发表于 01-29 10:34 837次阅读
    Simplicity <b class='flag-5'>Studio</b> 5扩增功能支持以VS Code开发

    何在Saber中使用C语言进行建模呢?

    Saber不仅支持MAST语言和VHDL‐AMS语言建立模型,也支持C语言建立器件模型,这对熟悉C语言编程的用户带来了很大的方便和实用。采用
    的头像 发表于 12-05 11:30 1061次阅读
    如<b class='flag-5'>何在</b>Saber<b class='flag-5'>中使</b>用C<b class='flag-5'>语言</b>进行建模呢?

    何在Linux中使用htop命令

    本文介绍如何在 Linux 中使用 htop 命令。
    的头像 发表于 12-04 14:45 1827次阅读
    如<b class='flag-5'>何在</b>Linux<b class='flag-5'>中使</b>用htop命令

    ADAU1701如何在sigma studio配置修改IIS为左对齐输出模式?

    我有个问题想请教 就是ADAU1701作为主模式 MA12070P数字功放作为从模式 想要通过IIS传输 但是ADAU1701默认输出为常规模式 MA12070P输入为左对齐模式 想请教一下如何在sigma
    发表于 11-28 06:53

    visualc++怎么新建c语言文件

    Visual C++ 是一个集成开发环境(IDE),用于开发 C 和 C++ 程序。在 Visual C++ ,新建一个 C 语言文件非常简单。下面是详细的步骤说明。 在
    的头像 发表于 11-27 15:57 3450次阅读

    何在高速设计通过规则管理控制阻抗

    何在高速设计通过规则管理控制阻抗
    的头像 发表于 11-23 17:48 845次阅读
    如<b class='flag-5'>何在</b>高速设计<b class='flag-5'>中</b>通过规则<b class='flag-5'>管理</b><b class='flag-5'>来</b>控制阻抗

    Python编程语言属于什么语言

    、易于学习和理解的语言,强调代码的可读性和简洁性。Python的设计真正做到了"坚守一种方法",非常注重代码的正确性和一致性。这也是为什么Python非常受欢迎的主要原因之一。接下来,我将详细介绍Python的特点、用途、优势和历史。
    的头像 发表于 11-22 14:31 1331次阅读