none
请教串口通信问题 RRS feed

  • 问题

  • 我打算用C#进行串口通信编程。将从串口读取的数据先存到一个数组里,数组接收完数据后,将数组的数据存到datagridview控件里,最后将控件数据存到Excel。请问这个想法可以实现吗?不行的话,要怎么实现呢?

    2012年6月25日 13:14

答案

  • private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
    {
                serialPort1.Open();
                string data = serialPort1.ReadExisting();
                serialPort1.Close();
                SetText1(data);
                Thread.Sleep(500);
     }
     private void SetText1(string text)
            {
                if (textBox1.InvokeRequired == true)
                {
                    SetTextHandler set = new SetTextHandler(SetText1);
                    textBox1.Invoke(set, new object[] { text });
                }
                else
                {
                    textBox1.Text += text + "\r\n";
                }
            }

    2012年6月26日 6:29

全部回复

  • dear

    当然可以,在实作的过程中你可能会遇到很多问题,到时再一起来讨论

    你可能会需要Multi Thread的技术


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    2012年6月26日 5:41
  • private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
    {
                serialPort1.Open();
                string data = serialPort1.ReadExisting();
                serialPort1.Close();
                SetText1(data);
                Thread.Sleep(500);
     }
     private void SetText1(string text)
            {
                if (textBox1.InvokeRequired == true)
                {
                    SetTextHandler set = new SetTextHandler(SetText1);
                    textBox1.Invoke(set, new object[] { text });
                }
                else
                {
                    textBox1.Text += text + "\r\n";
                }
            }

    2012年6月26日 6:29