com端口读取硬件数据解决思路

com端口读取硬件数据
我用硬件测量得到的数据,需要传到电脑上,在程序中要用里面的数据,该怎么弄?谁可以给个思路说下嘛?
------解决思路----------------------
http://download.****.net/detail/caesarx/4576926
就是DataReceived的事情
------解决思路----------------------
https://msdn.microsoft.com/zh-cn/library/system.io.ports.serialport.datareceived.aspx
------解决思路----------------------
c#中有现成的SerialPort类可以用
串口通信有规范的,
根据约定,读写数据就可以了
具体可以搜“C# 串口编程”
有现成的代码可以修改
------解决思路----------------------
3楼+1。另外注意硬件的串口属性设置,接收到数据以后,按照设备的数据规范,解析数据
又一个初学者,加油。
------解决思路----------------------
上面提供的例程可以参考。
1、确认一下串口连接属性,比如9600,n,8,1在之后开发过程可能会用到
2、确认通信协议,为接收的数据进行协议解析
3、解析后的数据可以运用到你的程序中
4、当然如果程序要长期运行,需要做好异常控制等。对收到的异常数据要抛弃。
------解决思路----------------------
根据串口通讯标准获得数据然后解析

SerialPort serialPort = new SerialPort();
serialPort.PortName = "COM1";
serialPort.BaudRate = 1200;
serialPort.Parity = (Parity)0;
serialPort.DataBits = 8;
serialPort.StopBits = (StopBits)1;
serialPort.Open();
var str = serialPort.ReadExisting();

------解决思路----------------------
这是我写的读串口数据绘制曲线图的一段代码可以借鉴一下

        public void GetXK3190()
        {
            Thread thread = new Thread(new ThreadStart(getXK3190));
            thread.IsBackground = true;
            thread.Start();
        }
        private void getXK3190()
        {
            try
            {
                serialPort.PortName = "COM1";
                serialPort.BaudRate = 1200;
                serialPort.Parity = (Parity)0;
                serialPort.DataBits = 8;
                serialPort.StopBits = (StopBits)1;
                serialPort.Open();
                int i=0;
                decimal ondecime=-1;
              
                while (true)
                {
                    var str = serialPort.ReadExisting();
                    Match m = Regex.Match(str, @"(?<=\=)[^=]*$");
                    if (m.Success)
                    {
                        WeighNumber = decimal.Parse(new String(m.Value.Reverse().ToArray()));
                        if (ondecime != -1 )
                        {
                            Point pit1 = new Point(i-1,  Convert.ToInt32(ondecime));
                            Point pit2 = new Point(i,  Convert.ToInt32(WeighNumber));
                            GdiPanel(0,0,i,180,20,pit1, pit2,this.panel1);
                        }
                        ondecime = WeighNumber;
                        i++;
                    }
                    Thread.CurrentThread.Join(100);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

------解决思路----------------------
硬件测量得到的数据,用回调方法传给程序,程序里面实现回调方法获得数据,然后存储使用。思路很清晰啊。