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; }