步骤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
-
软件
+关注
关注
69文章
4691浏览量
87079 -
VisualBasic
+关注
关注
0文章
6浏览量
6695
发布评论请先 登录
相关推荐
评论