zoukankan      html  css  js  c++  java
  • SerialPort的简单应用

    最近做了一个数码相机包装流水线控制的项目,在包装作业的几道工序中,其中有一条工序是重量检查。检查相机重量的工具是电子秤,可以精确到0.01克(NB),通过串口连接到电脑上。

    下面代码的功能是,程序向电子秤发送命令"Q",电子秤向程序返回测重数据。

    代码
    Private Function OpenSerialPort() As Boolean
    '通信端口
    Me.SerialPort1.PortName = "COM1"
    '波特率
    Me.SerialPort1.BaudRate = 2400
    '奇偶校验
    Me.SerialPort1.Parity = System.IO.Ports.Parity.Even
    '数据长度
    Me.SerialPort1.DataBits = 7
    '停止位
    Me.SerialPort1.StopBits = 1
    End Function

    ''' <summary>
    ''' 从电子秤上获取重量
    ''' </summary>
    Private Function GetWeightFromElectronicDevice() As Boolean
    '打开端口
    If OpenSerialPort() = False Then
    Return False
    End If
    '获取重量
    Me.SerialPort1.WriteLine("Q")
    Return True
    End Function

    ''' <summary>   
    ''' 回调函数  
    ''' </summary>  
    Public Sub DelegateMethod(ByVal content As String)
    '设置画面重量
    Me.txtWeight.Text = Convert.ToDecimal(content)
    '关闭端口
    Me.SerialPort1.Close()
    End Sub

    Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
    Dim content As String = Me.SerialPort1.ReadLine
    Me.BeginInvoke(New BarcodeDelegate(AddressOf DelegateMethod), content)
    End Sub
  • 相关阅读:
    因为数据库无法大写循环所有要使用shell
    mysql动态扩容调研
    MySQL扩容
    数据库死锁及解决死锁问题
    SQL数据库常见故障及解决方法
    通过Ajax方式上传文件(input file),使用FormData进行Ajax请求
    Ajax方式上传文件
    高并发解决方案--负载均衡
    对TCP/IP协议的深入浅出总结
    常用的php开发工具有哪些?
  • 原文地址:https://www.cnblogs.com/cnbwang/p/1834400.html
Copyright © 2011-2022 走看看