C#完成串口编程的实现

来源:互联网 发布:java 获取项目路径 编辑:程序博客网 时间:2024/06/10 01:42

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Threading;
using System.IO.Ports;
using System.IO;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
using System.Data;
using System.Data.SQLite;

 

 private static System.IO.Ports.SerialPort _serialPort;
 delegate void UpdateTextEventHandler(byte[] buf);  

 UpdateTextEventHandler updateText;

  _serialPort = new System.IO.Ports.SerialPort();
  string portname = "COM2";
   int baudrate = 115200;

   _serialPort.PortName = portname;
   _serialPort.BaudRate = baudrate;
   _serialPort.DataReceived += comm_DataReceived;
   _serialPort.Open();

 


        void comm_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            Thread.Sleep(100);
            updateText = new UpdateTextEventHandler(UpdateTextBox);  //实例化委托对象
            int n = _serialPort.BytesToRead;
            byte[] buf = new byte[n];
            _serialPort.Read(buf, 0, buf.Length);
            this.Invoke(updateText, buf);
         
        }

 

       private void UpdateTextBox(byte[] buf)
        {
            StringBuilder builder = new StringBuilder();
            foreach (byte b in buf)
            {
                builder.Append(b.ToString("X2") + " ");
            }

            string data_list = builder.ToString().Trim();

          }

原创粉丝点击