VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > VB.net教程 >
  • VB.NET 串口控件的使用和说明

一、认识串口控件,名称SerialPort,调用方式如下图所示。
二、串口常用参数说明**

BaseStream       获取 SerialPort 对象的基础 Stream 对象。
BaudRate         获取或设置串行波特率。
BreakState       获取或设置中断信号状态。
BytesToRead      获取接收缓冲区中数据的字节数。
BytesToWrite     获取发送缓冲区中数据的字节数。
CDHolding        获取端口的载波检测行的状态。
Container        获取 IContainer,它包含 Component。 (从 Component继承。)
CtsHolding       获取“可以发送”行的状态。
DataBits         获取或设置每个字节的标准数据位长度。
DiscardNull      获取或设置一个值,该值指示 Null 字节在端口和接收缓冲区之间传输时是否被忽略。
DsrHolding       获取数据设置就绪 (DSR) 信号的状态。
DtrEnable        获取或设置一个值,该值在串行通信过程中启用数据终端就绪 (DTR) 信号。
Encoding         获取或设置传输前后文本转换的字节编码。
Handshake        获取或设置串行端口数据传输的握手协议。
IsOpen           获取一个值,该值指示 SerialPort 对象的打开或关闭状态。
NewLine          获取或设置用于解释 ReadLine 和 WriteLine 方法调用结束的值。
Parity           获取或设置奇偶校验检查协议。
ParityReplace    获取或设置一个字节,该字节在发生奇偶校验错误时替换数据流中的无效字节。
PortName         获取或设置通信端口,包括但不限于所有可用的 COM 端口。
ReadBufferSize   获取或设置 SerialPort 输入缓冲区的大小。
ReadTimeout      获取或设置读取操作未完成时发生超时之前的毫秒数。
ReceivedBytesThreshold  获取或设置 DataReceived 事件发生前内部输入缓冲区中的字节数。
RtsEnable        获取或设置一个值,该值指示在串行通信中是否启用请求发送 (RTS) 信号。
Site             获取或设置 Component 的 ISite。 (从 Component 继承。)
StopBits         获取或设置每个字节的标准停止位数。
WriteBufferSize  获取或设置串行端口输出缓冲区的大小。
WriteTimeout     获取或设置写入操作未完成时发生超时之前的毫秒数
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

三、代码例程 1、串口配置代码

Sub PortStart()
        'SerialPort1.PortName = COMX'计算机串口设置 X,是串口号。可以使用下列列表框选择。
        SerialPort1.BaudRate = 9600  ‘波特率设置
        SerialPort1.DataBits = 8            '数据位设置
        SerialPort1.StopBits = StopBits.One    '停止位设置
        SerialPort1.Encoding = Encoding.UTF8
        SerialPort1.DtrEnable = True
        SerialPort1.ReadTimeout = 500   '超时时间
        SerialPort1.NewLine = vbCrLf       '行结束符合
End Sub
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2、计算机串口读取

Sub GetSerialPortNames()
        '计算机串口读取
        For Each sp As String In My.Computer.Ports.SerialPortNames
            CompList.Items.Add(sp)           ‘CompList是一个下列框控件,这里修改为你的下列框名称
        Next
        CompList.Text = CompList.Items(0)
    End Sub
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3、串口打开

 Sub PortOpen()
            Try
                SerialPort1.Open()
                Call PortStart()
            Catch ex As UnauthorizedAccessException
                MsgBox("串口被占用或串口错误!", MsgBoxStyle.Information, "提示!")
            End Try
 End Sub
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4、串口关闭

Sub PortOpen()

            Try
            SerialPort1.Close()
            Catch ex As Exception
            MsgBox("串口未打开或串口异常!", MsgBoxStyle.Information, "提示!")
            End Try
End Sub
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

5、串口读取数据

Sub ComRec()
       Dim Rxstr As String
        Try
            Rxstr = SerialPort1.ReadLine       ’读取一个新行
            Application.DoEvents()
            ComTxT.AppendText(Rxstr)           ‘读取到的数据添加到文本框中显示
        Catch e As TimeoutException            ’当超时以后,读取串口所有的数据
            Rxstr = SerialPort1.ReadExisting
           ComTxT.AppendText(Rxstr)
            Application.DoEvents()
        End Try
    End Sub
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

6、发送数据

SerialPort.Write,将数据写入串行端口输出缓冲区。

相关教程