上一篇文章给大家讲了一下串口编程的一些基本知识。今天要给大家介绍的是一个串口编程的简单例子。这个例子可以帮助大家对于串口通信的基本知识有个大致的了解。
首先是看界面:
有点像一个聊天的软件,其实你完全可以这样想。但你面对的对象可能是一个硬件。
然后让我们看代码:
Imports System Imports System.Collections.Generic Imports System.ComponentModel Imports System.Data Imports System.Drawing Imports System.Linq Imports System.Text Imports System.Windows.Forms Public Class Form1 Public Sub New() InitializeComponent() End Sub Private com As System.IO.Ports.SerialPort Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load com = New System.IO.Ports.SerialPort() '获取所有的串口 Dim pc As Microsoft.VisualBasic.Devices.Computer = New Microsoft.VisualBasic.Devices.Computer() Dim s As String For Each s In pc.Ports.SerialPortNames Me.cbxPortName.Items.Add(s) Next End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If IsNothing(cbxPortName.SelectedItem) = False Then com.Close() com.PortName = cbxPortName.SelectedItem.ToString() com.Open() If (com.IsOpen) Then btnClose.Enabled = True lbStatus.Text = "串口" + cbxPortName.SelectedItem.ToString() + "已经连接" Else MessageBox.Show("请选择串口!") End If End If End Sub Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click If (com.IsOpen) Then com.WriteLine(txtSendMsg.Text) Else MessageBox.Show("请先连接串口!") End If End Sub Private Sub btnReceive_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReceive.Click txtReceive.Text = "" If (com.IsOpen) Then Try com.DiscardInBuffer() com.DiscardOutBuffer() txtReceive.Text = com.ReadLine() Catch Throw End Try Else MessageBox.Show("请先连接串口!") End If End Sub End Class
上面的代码大家可以拷贝下来实现一下。
当然我也说过了这是一个非常简单的例子。其中用到的东西我大概的总结一下:
以上代码的核心是一个SerialPort类:表示串行端口资源。其中用到的其最重要的两个方法发送数据(write)和读取数据(read)当然看到这你可能还是有疑问,串口通信难道只有有了硬件才能进行学习研究嘛?答案当然是否定的。你完全可以采用虚拟的串口程序进行学习研究。给大家提供一个很好的虚拟串口程序:VSPM。下载地址:http://download.csdn.net/detail/hy6688_/6705423
基本使用的步骤;
综上所述:只是一个简单的串口编程的小例子其中存在很多的问题,如果你真正动手实践了你也会发现其中的问题。甚至不能满足我们基本的聊天功能。这些问题留给下篇文章介绍。