[转]VB.NET 的串口操作

vb.net,串口操作,最新方法,不是API,不是mscomm,而是System.IO.Ports 命名空间

System.IO.Ports 命名空间包含用于控制串行端口的类。最重要的类 System.IO.Ports.SerialPort 为同步和事件驱动 I/O 提供框架,提供对插针和中断状态的访问以及对串行驱动程序属性的访问。它可用于包装 System.IO.Stream 对象,允许使用流的类访问串行端口。

依所说的,功能应该不错。说干就干,新建工程,至少有一个 listbox,一个 textbox,一个 button

'导入命名空间

Imports System.IO.Ports

'再定义三个量

Public my_serial As New IO.Ports.SerialPort()
    Public ports() As String
    Public port As String


'
得出当前计算机的串口

'my_serial.PortName 先赋为空值,因为其默认值是 COM1

my_serial.PortName = "None"
    ports = IO.Ports.SerialPort.GetPortNames
    For Each port In ports
          ListBox1.Items.Add(port)
    Next

现在,窗体上的 listbox1 里就有当前计算机所有的串口了。

 

listbox1 ListBox1_SelectedIndexChanged 事件中加入以下代码:

' my_serial.PortName 赋值

Select Case ListBox1.SelectedItem
            Case Is = "COM1"
                my_serial.PortName = "COM1"
            Case Is = "COM2"
                my_serial.PortName = "COM2"
            Case Is = "COM3"
                my_serial.PortName = "COM3"
            Case Is = "COM4"
                my_serial.PortName = "COM4"
        End Select

至此,就已经能选择串口了。如果大家比较心急,现在就试试将其打开及关闭的操作(可将这些放到 button Click 事件中):

'这是打开

my_serial.Open()

'或先判断,再打开

If my_serial.IsOpen = False Then my_serial.Open()

'这是关闭(在发送数据时不能关闭哦)

my_serial.close()

好了,现在串口是打开了,传一下数据试试吧?注意,前提是串口打开的:

Dim send_data As String
        send_data = InputBox("
请输入内容:")
        '
通过 writeline 的方式传数据
        my_serial.WriteLine(send_data)

这样看来,数据是发送出去了。但我不相信,我想知道它发送的对不对?那好办,我们可以来检视一下:

TextBox1.AppendText(my_serial.ReadLine() & vbCrLf)

好了,至此,我们完成了串口的枚举,选择,数据的发送工作。

是不是很简单?

其它的,就慢慢的完善吧。

(注:如果是单机操作,可将串口的 2 、3 脚短接(9针的接法),即可实现自发自收。)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值