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、串口配置代码

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

 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

3、串口打开

 Sub PortOpen()
 
            Try
                SerialPort1.Open()
                Call PortStart()
            Catch ex As UnauthorizedAccessException
                MsgBox("串口被占用或串口错误!", MsgBoxStyle.Information, "提示!")
            End Try

 End Sub

4、串口关闭

Sub PortOpen()
 
            Try
            SerialPort1.Close()
            Catch ex As Exception
            MsgBox("串口未打开或串口异常!", MsgBoxStyle.Information, "提示!")
            End Try
End Sub

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

6、发送数据

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

名称说明
SerialPort.Write (String)将参数字符串写入输出。

由 .NET Compact Framework 支持。

SerialPort.Write (Byte[], Int32, Int32)将指定数量的字节写入输出缓冲区中的指定偏移量处。

由 .NET Compact Framework 支持。

SerialPort.Write (Char[], Int32, Int32)将指定数量的字符写入输出缓冲区中的指定偏移量处。

由 .NET Compact Framework 支持。


 

以上就是VB.NET中对串口初始化和常用的参数内容,如果大家不明白,可以跟帖留言。

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
VB.NET串口助手,亲测可用,简单实用。 网上大大部分都实用AXcom控件而非serial port,各种函数都不一样。 这是一个最新的用serial port 来写的,包括委托的线程的关系。 这是我3年前的一个例子,最近翻出来回忆一下。 串口是计算机上一种非常通用设备通信的协议。大多数计算机包含两个基于RS232的串口,现在配电脑好像只有一个。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信在工控领域用途很广。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。
### 回答1: VB.Net是一种基于.NET平台的编程语言,可以用来开发各种应用程序,包括与Microsoft Office进行交互的应用程序。VB.Net Office控件是一组用于操作和控制Microsoft Office软件(如Word、Excel、PowerPoint等)的工具集合。 VB.Net Office控件提供了丰富的功能和接口,使我们能够在应用程序中创建、打开、编辑和保存Office文档。它提供了简单而强大的对象模型,可以访问Office应用程序的各个组件(如文档、工作表、幻灯片等)以及它们的属性和方法。 使用VB.Net Office控件,我们可以编写代码来自动执行一系列操作,例如创建新的Word文档,将数据填充到Excel工作表中,从PowerPoint幻灯片中提取数据等等。我们可以通过编程方式控制Office应用程序的各个方面,如格式设置、数据导入导出、图表创建、自定义菜单等。 此外,VB.Net Office控件还提供了与Office应用程序进行交互的功能,例如打开和关闭Office应用程序、调用Office应用程序的功能和命令、处理Office应用程序的事件等。通过这些功能,我们可以根据具体需求来定制应用程序,以实现更高的自动化和扩展性。 总结来说,VB.Net Office控件是一种方便的工具,可以帮助我们在VB.Net应用程序中利用Microsoft Office软件的强大功能。它提供了丰富的功能和接口,使我们能够轻松地与Office应用程序进行交互,并能够编写代码来自动化执行各种操作。 ### 回答2: VB.NET是一种面向对象的编程语言,可以通过使用Office控件来操作Microsoft Office软件。Office控件库为开发人员提供了一组功能强大的工具,使其能够在自己的应用程序中嵌入和自动化Office应用程序。以下是VB.NET Office控件的一些主要功能和用途: 1.自动化Office应用程序:使用VB.NET和Office控件,可以自动化执行许多Office应用程序的操作,如创建和编辑Word文档、Excel表格和PowerPoint演示文稿。 2.读写Office文档:通过VB.NET和Office控件,可以轻松读取和修改Office文档中的内容,例如从Excel表格中读取数据、向Word文档中添加文本、创建幻灯片等。 3.与Outlook集成:使用VB.NET和Office控件,可以通过创建和发送电子邮件、管理日历和联系人,与Outlook进行集成。 4.自定义菜单和工具栏:通过VB.NET和Office控件,可以在Office应用程序中创建自定义菜单和工具栏,以实现特定的操作和功能。 5.数据分析和报告生成:使用VB.NET和Office控件,可以将数据导入到Excel中进行分析和报告生成,将数据展示为图表、图形和表格。 通过VB.NET和Office控件,开发人员可以轻松地利用Microsoft Office软件的功能,实现自定义的业务需求。无论是自动化处理大量文件、与Outlook进行交互还是生成专业的报告,VB.NET和Office控件都是非常有用的开发工具。 ### 回答3: VB.NET是一种流行的编程语言,用于开发Windows平台上的应用程序。Office控件VB.NET中的一组特殊控件,用于与Microsoft Office套件中的各种应用程序进行交互和集成。 VB.NET中的Office控件包括Word控件、Excel控件和PowerPoint控件等,它们都是通过与Office应用程序的COM接口进行通信来实现功能的。 使用VB.NET中的Office控件,我们可以通过编程方式创建、打开、编辑和保存Word文档、Excel电子表格和PowerPoint演示文稿。我们可以使用这些控件来实现自定义的表格、图表和图形,以及添加、修改和删除文本、图像和媒体内容。 除了处理文档内容,Office控件还提供了与文档格式和样式相关的功能。我们可以通过控件修改字体、颜色、对齐方式等文本格式,并可以应用预定义的样式和主题。 此外,Office控件还允许我们执行一些高级操作,比如使用一组预定义的功能和方法来进行邮件合并、数据筛选和排序、图表生成和编辑等。 总之,VB.NET中的Office控件为我们提供了方便、快捷的方法来与Microsoft Office应用程序进行交互。无论是创建个人应用程序还是企业级解决方案,Office控件都能帮助我们实现与Office应用程序的无缝集成,从而提高工作效率和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值