Private serialPort As SerialPort  '定义

Public Function CreateSerialPort() As String
        Dim strWeights As String = ""
        Dim strData As String = ""
        Dim bSetPointNum As Double = 0.0

If serialPort IsNot Nothing Then
            If serialPort.IsOpen Then
                Me.serialPort.Close()
            End If
            Me.serialPort.Dispose()
        End If

Try
            serialPort = New SerialPort("COM" + clXML.Read("Login", "bserialPortNames", ""), Integer.Parse(clXML.Read("Login", "bBaudRate", "")), CType([Enum].Parse(GetType(Parity), clXML.Read("Login", "bParity", "")), Parity), Integer.Parse(clXML.Read("Login", "bDataBits", "")), CType([Enum].Parse(GetType(StopBits), clXML.Read("Login", "bStopBits", "")), StopBits))
            serialPort.WriteTimeout = 20000
            serialPort.ReadTimeout = 20000
            serialPort.ReadBufferSize = 20480
            serialPort.WriteBufferSize = 20480
            serialPort.Open()
            Dim portName As String = "COM" + clXML.Read("Login", "bserialPortNames", "")
            If serialPort.IsOpen Then
                Dim readLength As Integer = 8
                Dim offset As Integer = 0
                Dim data As Byte() = New Byte(readLength - 1) {}
                Do
                    Dim byteLenght As Integer = serialPort.Read(data, offset, readLength)
                    offset += byteLenght
                    readLength -= byteLenght
                Loop While serialPort.BytesToRead > 0
                strData = Encoding.[Default].GetString(data)
                bSetPointNum = clXML.Read("Login", "bSetPoint", "")
                SetPoint()
                If IsNumeric(strData) = True Then
                    strWeights = IIf(strData / bSetPointNum < "0", bSetPoint, Val(strData / bSetPointNum))
                    Application.DoEvents()
                Else
                    strWeights = bSetPoint
                End If

If strWeights = "" Then
                    Return CreateSerialPort()
                End If

End If
        Catch ex As Exception
            c.MsgInfro(c.GetResource("MyResource", "public_serialPortError"), "Notices", True)
        End Try
        Return strWeights
    End Function

.NET调用window串口读取电子秤的数据的更多相关文章

  1. C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表

    调用word的com组件将400条数据导入word表格中耗时10分钟简直不能忍受,使用NPOI组件耗时4秒钟.但是NPOI中替换书签内容的功能不知道是不支持还是没找到. 辅助类 Excel表格数据与D ...

  2. OneNET麒麟座应用开发之二:串口读取PM25传感器数据

    作为环境数据监测站首先要获取大气中可吸入颗粒物的数据.为了检测PM25数据,我们采用北京海联信为的HLPM025K3型号传感器,该传感器使用激光法测量PM25和PM10的数据. 该型传感器的检测对象如 ...

  3. VS编程,C#串口通讯,通过串口读取数据的一种方法

    一.可能需要的软件:1.虚拟串口vspd(Virtual Serial Port Driver,用来在电脑上虚拟出一对串口,模拟通讯. 2.友善串口调试助手,用来发送.读取数据. 二.思路1.查询本机 ...

  4. C# 从串口读取数据

    最近要做系统集成,需要从串口读取数据,随学习一下相关知识: 以下是从串口读取数据 public static void Main() { SerialPort mySerialPort = new S ...

  5. C#利用控件mscomm32.ocx读取串口datalogic扫描枪数据

    1).开发环境VS12,语言C# 2).扫描枪品牌:datalogic 4470 3).通讯协议:串口 1.首先,第一步创建一个新工程,windows窗体应用程序,命名为TestScanner,如下: ...

  6. VS2010中使用Jquery调用Wcf服务读取数据库记录

    VS2010中使用Jquery调用Wcf服务读取数据库记录 开发环境:Window Servere 2008 +SQL SERVE 2008 R2+ IIS7 +VS2010+Jquery1.3.2 ...

  7. 一篇提及如何通过串口读取并提取GPS信号的论文

    一篇提及如何通过串口读取并提取GPS信号的论文 作者:崔杰 梁计春 王国军 目前,在用计算机进行数据传输时,常用的是串行通信方式.在Visual C++的编程中,既可以用Windows API函数进行 ...

  8. 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据

    1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...

  9. 串口实现FIFO接受数据

    基本原理:静态队列 /* * 串口的FIFO简单读取实现 * 功能,实现串口的FIFO实现 * 使用方法: * 版本:v1.0.0 * */ #include "sys.h" #i ...

随机推荐

  1. Codeforces724D [字符串][乱搞][贪心]

    /* 不要低头,不要放弃,不要气馁,不要慌张 题意:给你一个区间长度n和一个字符串,要求在字符串中选择一些symbol使得字符串的任意长度为n的子区间都存在至少一个symbol. 任意选取symbol ...

  2. log4j配置不同的类多个日志文件

    <Configuration status="INFO"> <Appenders> <Console name="STDOUT" ...

  3. springmvc常用注解与类型转换

    springmvc常用注解与类型转换 一:前置 spring -servlet.xml 注入 <!-- 启用spring mvc 注解 --> <context:annotation ...

  4. google快捷键,通过浏览器本身来查看

    今天玩google浏览器时发现一个不需要访问google就能查看其快捷键的方式,再此记录一下,以备后用. 1:打开Google浏览器 2:打开开发者工具,有三种方法 2-1:按F12快捷键 2-2:按 ...

  5. entityframework 入门-来自微软

    必备条件 要完成本演练,需要安装 Visual Studio 2010 或 Visual Studio 2012. 如果使用的是 Visual Studio 2010,还需要安装 NuGet. 1.创 ...

  6. MXS 编辑器外观

    Tool > Open User Options File # Give symbolic names to the set of colours used in the standard st ...

  7. Hibernate day03笔记

      Hibernate的关联关系映射:(多对多) 多对多的配置: 步骤一创建实体和映射: Student: public class Student {     private Integer sid ...

  8. 第五百八十四天 how can I 坚持

    好累啊,不知道怎么搞的,也没干啥啊,学习学的..不会吧. 哎. 吃粉蒸吃的都快吃吐了,得休息段时间,哈哈 没想象中的那么简单啊,太难了,哎,怎么考,压力啊.哎,也没啥. 洗澡睡觉,先休息.

  9. Eclipse下修改工程名

    汇总下网上的方法. 一. 右键工程:Refactor->Rename,或选中工程按F2,修改名称 二. 右键工程:Properties->Web Project Settings,修改Co ...

  10. ubuntu 14.04 更新 gcc/g++ 4.9.2

    ubuntu 14.04 更新 gcc/g++ 4.9.2 最近看到c++11非常的好用,尤其是自带了regex,于是稍微学了一下c++11的新特性.可是我在编译一个regex程序是却发现稍微复杂一点 ...