zoukankan      html  css  js  c++  java
  • 地磅仪表读取数据

    View Code
    private static SerialPort serialPort1 = new SerialPort();//创建
    
    SerialPort 对象
            private void Form1_Load(object sender, EventArgs e)
            {
                LoadMeter();
            }
            private void timer1_Tick(object sender, EventArgs e)//timer控
    
    件事件
            {
                string strRead = serialPort1.ReadExisting();
                String strChar = "";
                if (strRead != string.Empty || !"".Equals(strRead))
                {
                    try
                    {
                        strChar = strRead.Substring(strRead.IndexOf
    
    ((Char)Convert.ToInt32("0002", 16)), strRead.LastIndexOf((Char)
    
    Convert.ToInt32("0003", 16)) - strRead.IndexOf((Char)Convert.ToInt32
    
    ("0002", 16)));
                    }
                    catch (Exception) 
                    { 
                        //不处理
                    }
                }
    
                if (strChar.Length > 0)
                {
                    string[] array = strChar.Split((Char)Convert.ToInt32
    
    ("0003", 16));
    
                    double[] doublePyte = new double[array.Length];
    
                    for (int i = 0; i < doublePyte.Length; i++)
                    {
    
                        string str1 = array[i].Substring(1, 8);
    
                        string str2 = str1.Insert(5, ".");
    
                        doublePyte[i] = Convert.ToDouble(str2);
                        label1.Text = doublePyte[i].ToString().Substring
    
    (0, doublePyte[i].ToString().Length-1);//给label1赋值
                    }
    
                }
                 
            }
            private void LoadMeter()//加载时设置COM参数(load)
            {
                string[] portNames = SerialPort.GetPortNames();
                if (portNames.Length > 0)
                {
                    serialPort1.PortName = "COM1";
                    serialPort1.BaudRate = 1200;
                    serialPort1.Parity = 0;
                    serialPort1.StopBits = StopBits.One;
                    try
                    {
                        serialPort1.Open();
                    }
                    catch(Exception)
                    {
                        //...
                    }
                }
                else
                {
                    MessageBox.Show("没打开COM");
                }
            }
            /// <summary>
            /// 设置timer可用属性
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button1_Click(object sender, EventArgs e)
            {
                timer1.Enabled = true;
            }
  • 相关阅读:
    创建本地源,使用yum install
    查找SCAN大量块的一个sql
    好的代码像首诗,差的代码像坨屎。
    ps
    eclipse程序正确运行却有红叉
    JS中文乱码解决方案
    初学JQuery
    初学JQuery 2
    大神的电脑软件
    eclipse导入已存在于workspace的项目
  • 原文地址:https://www.cnblogs.com/muruiqing/p/2513635.html
Copyright © 2011-2022 走看看