首页 > 其他分享 >读取串口数据

读取串口数据

时间:2023-09-10 18:11:46浏览次数:57  
标签:读取 串口 void Global serialPort static ._ 数据

/// <summary>
/// 压力 传感器
/// </summary>
public class ForceSensor
{
    private static SerialPort _serialPort = new SerialPort();

    /// <summary>
    /// 初始化参数
    /// </summary>
    public static void InitForceSensor()
    {
        //设定串口参数
        _serialPort.PortName = Global._forceSensor_Port.PortName;
        _serialPort.BaudRate = Global._forceSensor_Port.BaudRate;
        _serialPort.Parity = Global._forceSensor_Port.PortParity;
        _serialPort.DataBits = Global._forceSensor_Port.DataBit;
        _serialPort.StopBits = Global._forceSensor_Port.PortStop;
        _serialPort.ReadBufferSize = 1024;
        //注册接收数据的事件
        _serialPort.DataReceived += _serialPort_DataReceived;

        if (_serialPort != null)
        {
            try
            {
                //打开连接
                _serialPort.Open();
            }
            catch (Exception)
            {

            }
        }

    }

    public static void CloseForceSensor()
    {
        if (_serialPort != null)
        {
            //关闭
            _serialPort.Close();
        }
    }

    public static void ReadForce()
    {
        byte[] read = new byte[] { 01, 03, 06, 06, 00, 02, 24, 82 };
    }

    /// <summary>
    /// 读取(接收)串口数据
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private static void _serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
        try
        {
            //Thread.Sleep(5);
            //读取串口缓冲区的字节数据
            if (_serialPort.BytesToRead >= 32)
            {
                byte[] buffer = new byte[_serialPort.BytesToRead];//_serialPort.BytesToRead
                _serialPort.Read(buffer, 0, _serialPort.BytesToRead);

                DataHandle(buffer);
            }
        }
        catch (Exception)
        {

        }
    }

    /// <summary>
    /// 数据处理
    /// </summary>
    /// <param name="buffer"></param>
    public static void DataHandle(byte[] buffer)
    {
        double res = 0;
        string str = Encoding.ASCII.GetString(buffer);
        string[] reslut = str.Split('\r');
        int n = reslut.Length;
        string tmp = reslut[n / 2];
        res = Convert.ToInt32(tmp);
        
       // Global._forceIns.ForceValue = Math.Round(res  / 10.0-Global._forceIns.Force_pz, 1);
    }
}

 

标签:读取,串口,void,Global,serialPort,static,._,数据
From: https://www.cnblogs.com/stevenchen2016/p/17691611.html

相关文章

  • Java实现关系型数据库工具类JdbcUtils系列九:通用DAO
    Java实现关系型数据库工具类JdbcUtils系列九:通用DAO一、创建对应数据库表的实体类二、数据库连接池Druid工具类三、DAO类四、BaseDAO五、DatabaseInfoDao六、通用DAO测试类一、创建对应数据库表的实体类数据库表结构CREATETABLE`databaseInfo`(`id`bigint(11)NOTNULLAU......
  • 深入浅出理解数据分析系列之:Python安装Excel文档库openpyxl和Pycharm为项目安装Excel
    深入浅出理解数据分析系列之:Python安装Excel文档库openpyxl和Pycharm为项目安装Excel文档库openpyxl一、Python安装openpyxl二、Pycharm为项目安装openpyxl一、Python安装openpyxlpip3installopenpyxlCollectingopenpyxlDownloadingopenpyxl-3.0.9-py2.py3-none-any.whl......
  • 数据库连接池Druid使用方法
    数据库连接池Druid使用方法一、Druid连接池使用代码示例importcom.alibaba.druid.pool.DruidAbstractDataSource;importcom.alibaba.druid.pool.DruidDataSource;importcom.alibaba.druid.pool.DruidDataSourceFactory;importorg.junit.Test;importjavax.sql.DataSource;......
  • Java应用程序中的数据库连接池优化
    什么是数据库连接池?数据库连接池是一种数据库连接的管理技术,它允许应用程序在需要时从池中获取数据库连接,而不是每次都创建新的连接。这样可以减少连接创建和销毁的开销,提高数据库访问性能。为什么需要数据库连接池?在Java应用程序中,频繁地创建和关闭数据库连接会导致性能下降,因为连......
  • elastic索引管理-数据流
     8,数据流 数据流数据流允许您跨多个索引存储仅附加的时间序列数据,同时为您提供单个命名资源用于请求。数据流非常适合日志、事件、指标和其他连续生成的数据。您可以将索引和搜索请求直接提交到数据流。流自动将请求路由到存储流数据的支持索引。您可以使用索引生命周期管理(......
  • MongoDB下载和可视化工具NoSQL Manager for MongoDB 软件的下载,连接数据库
      在官网下载MongoDB的版本为4.0.28,之前试了好几个高版本和低版本,都不行,最后,4.0.28版本好了。下载网页:https://www.mongodb.com/try/download/community 安装和配置环境变量的方法一搜就行了,不难。打开安装MongoDB的bin路径,输入cmd,打开命令提示符,再输入红色圈住的命令,看是......
  • 实现数据库连接池druid的工具类
    一、数据库连接迟druid工具类importcom.alibaba.druid.pool.DruidDataSourceFactory;importorg.apache.commons.beanutils.PropertyUtils;importjavax.sql.DataSource;importjava.io.IOException;importjava.sql.*;importjava.util.ArrayList;importjava.util.List;......
  • postgresql数据库安装日志解析插件wal2json
    postgresql数据库安装日志解析插件wal2json一、编译安装wal2json插件cdwal2jsonexportPATH=/data/home/fei.yang4/moudle/postgresql/bin:$PATHmakemakeinstall二、直接导入wal2json插件查看pg进程确定pgsql库和配置文件存放目录ps-ef|greppostgresqlubuntu24975248......
  • Java语言的特点,面向对象和面向过程的区别,八种基本数据类型的大小以及封装类
    1、Java语言有哪些特点1、简单易学、有丰富的类库2、面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高3、与平台无关性(JVM是Java跨平台使用的根本)4、可靠安全5、支持多线程2、面向对象和面向过程的区别面向过程是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后......
  • 优秀的 Modbus 主站(主机、客户端)仿真器、串口调试工具
    [TOC]优秀的Modbus主站(主机、客户端)仿真器、串口调试工具modbusmaster,modbus,串口,工控,物联网,PLC,嵌入式官网下载地址:http://www.redisant.cn/mme主要功能支持多种Modbus协议,包括:ModbusRTUModbusASCIIModbusTCP/IPModbusUDP/IPModbusRTUOverTCP/IPModbusRTUOverUD......